IPtables:转发

IPtables:转发

我有一台 Ubuntu 机器作为防火墙运行。这台机器在 eth1 上配置了我们的静态 IP。它通过 eth0 连接到我们的网络。

我有一台运行 Server2012 的新服务器,安装了 IIS。它是一台 SharePoint 服务器。我需要通过域名访问 Internet 和本地网络。即“awesomebox.net”

我需要什么 IPTables 规则来实现这一点?

我所在的位置:

我在 nat 表中设置了一条规则,用于将传入请求重定向到我们的 sharepoint 服务器。它在我们的建筑物外工作。当我尝试从建筑物内访问它时,我会在本地防火墙上看到 apache 服务器。

sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 10.100.XX.XX:80
sudo iptables -A FORWARD -i eth1 -p tcp --dport 80 -d 10.100.XX.XX -j ACCEPT
sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j DNAT --to 10.100.XX.XX:443
sudo iptables -A FORWARD -i eth1 -p tcp --dport 443 -d 10.100.XX.XX -j ACCEPT

我在这里遗漏了什么?

答案1

您的规则仅适用于eth1从 Internet 进入的数据包,因此不会应用于eth0从 LAN 进入的数据包。请添加另一组指定 的规则eth0,或从当前规则中删除该条件:

iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j DNAT --to 10.100.XX.XX:80
iptables -A FORWARD -p tcp --dport 80 -d 10.100.XX.XX -j ACCEPT
iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 443 -j DNAT --to 10.100.XX.XX:443
iptables -A FORWARD -p tcp --dport 443 -d 10.100.XX.XX -j ACCEPT

如果 SharePoint 服务器已连接到eth0您将遇到发夹型NAT问题。为了解决这个问题,如果源是 LAN 子网,则需要对传出的数据包进行 SNAT:

iptables -t nat -A POSTROUTING -p tcp --dport 80 -d 10.100.XX.XX -s 10.100.XX.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp --dport 443 -d 10.100.XX.XX -s 10.100.XX.0/24 -j MASQUERADE

相关内容