我一直在努力使用 Linux 中的 iptables 来获得正确的配置。基本上,我试图设置实现以下目标的规则:
允许属于已建立 TCP 会话的传入流量
允许正常 WWW 和 SSH 端口上的传入流量
所有其他 TCP 端口均被阻止
无论出于什么原因,只有 SSH 端口似乎可以正常工作。
答案1
iptables -A INPUT -m conntrack -j ACCEPT --ctstate RELATED,ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m multiport -m state --state NEW -j DROP ! --dports 22,80
最后的规则应该是:
iptables -A INPUT -j DROP
如果您的电脑中有多个网卡,您可能希望指定它将影响哪些网卡,否则它将影响所有网卡。
根据防火墙其余部分的设置方式,您可能需要在 FORWARD 链中复制这些规则。
这些规则必须位于规则的顶部或附近,INPUT/FORWARD 链之前的规则将覆盖这些规则。
除非您正在运行 Web 服务器,否则 80 端口甚至没有必要。