我有一个子网,该子网受充当防火墙的计算机保护。我希望此防火墙具有以下规则:
拒绝所有输入
iptables -A INPUT -j DROP
允许所有输出
iptables -A OUTPUT -j ACCEPT
将所有数据包从子网路由到外部
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
丢弃所有从外部到子网的数据包???
将数据包路由到端口 80 到子网中的服务器
iptables -t nat -A PREROUTING -d 192.168.2.143 -p tcp --dport 80 -j DNAT --to 172.16.32.131
eth0 上的防火墙 IP 为 192.168.2.143,eth1 上的防火墙 IP 为 172.16.32.254,服务器 IP 为 172.16.32.131
子网为 172.16.32.0/24
我让所有东西都正常工作,只是它会将所有来自外部的数据包路由到子网,而不仅仅是路由到 Web 服务器的数据包。我该如何防止这种情况?
答案1
默认策略是接受不匹配任何规则的数据包。要更改此设置,请使用:
iptables -P FORWARD DROP
您可以使用 检查当前规则集iptables -L
。另请参阅http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html(政策特点在底部提到)。