我试着解释我的项目。我有一台带有 2 个接口的服务器,其中一个必须提供一个网站,除此之外别无其他。另一个接口将用于控制和管理该服务器。网络服务器的接口将附加一个访问点以连接到该服务器。
图片上网--->eth0=SERVER |FIREWALL| WebServer = eth1 --> AP --> USER1, USER2, ...
我安装了 Apache2 和 dnsmasq,它们现在为 LAN 提供 DHCP。我想要做的是将所有内容从 eth1 重定向到 eth1 172.28.1.1 端口 80。并阻止其他所有内容。这只是为了安全。
谢谢!
- - 解决方案 - -
经过大量搜索并在第一个响应的指导下,我得到了解决方案。我的问题是制作一个强制门户并将所有内容重定向到本地 ip。
解决办法,很简单。设置 dnsmasq 并设置此设置:
/etc/dnsmasq.conf
address=/#/172.28.1.1
阻止任何类型的流量并将其重定向到本地 ip
# iptables -t nat -I PREROUTING -j DNAT -s 172.28.0.0/16 -p tcp --to-destination 172.28.1.1
# iptables -t nat -I PREROUTING -j DNAT -s 172.28.0.0/16 -p udp --to-destination 172.28.1.1
您可以按如下方式实现:
安装带有假根区域的 DNS 服务器,将所有内容定向到您的 IP 地址 172.28.1.1。(例如
* IN A 172.28.1.1
)。在 172.28.1.1 上安装 apache。
当然,您需要配置 DHCP 以将假 DNS 服务器的 IP 地址分发给您的客户端。另外,请确保服务器不会将数据包从 eth1 转发到 eth0(即关闭
ip_forward
)。