IPtables:转发

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

我有一台运行Server2012的新服务器安装了IIS。 这是一个共享点服务器。 我需要通过域名访问互联网和本地networking的Sharepoint服务器。 即“awesomebox.net”

什么是IPTables规则我需要做到这一点?

我在哪里:

我有一个规则在NAT表redirect传入的请求到我们的SharePoint服务器。 它在我们的build筑外面工作。 当我尝试从我们的大楼内部访问它时,我在本地防火墙上得到了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 

我在这里错过了什么?

您的规则仅适用于从Internet上进入eth1数据包,因此不适用于从LAN进入eth0数据包。 要么添加另一组规则指定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