我试着解释一下我的项目。我有一台带有 2 个接口的服务器,其中一个接口只提供网站,其他什么都不提供。另一个接口将用于控制和管理此服务器。Web 服务器的接口将附加一个接入点,以便连接到此服务器。
图片 Internet ---> 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
答案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
)。