阻止 iptables 上除 80 端口以外的 FORWARD

阻止 iptables 上除 80 端口以外的 FORWARD

我有一个子网,该子网受充当防火墙的计算机保护。我希望此防火墙具有以下规则:

拒绝所有输入

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(政策特点在底部提到)。

相关内容