Debian Linux 中的 iptables 规则建议

Debian Linux 中的 iptables 规则建议

请指教:

我添加下一个 iptables 规则:

iptables -I OUTPUT 2 -p udp --dport 53 -j ACCEPT
iptables -I OUTPUT 2 -p udp --dport 1700:1750 -j ACCEPT
iptables -I OUTPUT 3 -p udp -m udp --dport 1812 -j ACCEPT
iptables -I OUTPUT 5 -p udp -m udp --dport 1813 -j ACCEPT
iptables -I OUTPUT 5 -p udp -m udp --dport 5950:6050 -j ACCEPT
iptables -I OUTPUT 5 -p udp -m udp --dport 499:510 -j ACCEPT
iptables -I OUTPUT 5 -p udp -m udp --dport 4490:4550 -j ACCEPT
iptables -I OUTPUT 20 -p udp -j DROP

但是,应用后:ipsec、l2tp 和 openvp udp 端口​​ 6000 停止工作

请教一下,哪里错了?

这是我的 udp 服务:

udp        0      0 0.0.0.0:500             0.0.0.0:*                           3115/charon     
udp        0      0 0.0.0.0:1701            0.0.0.0:*                           2885/xl2tpd     
udp        0      0 162.243.256.150:6000    0.0.0.0:*                           2818/openvpn    
udp        0      0 0.0.0.0:4500            0.0.0.0:*                           3115/charon     
udp6       0      0 :::500                  :::*                                3115/charon     
udp6       0      0 :::4500                 :::* 

                           3115/charon

答案1

您使用的是 OUTPUT 链,而不是 INPUT 链,因此当您输入 dport 时,它是 OUTPUT 的目标端口,这意味着远程端口,而不是您正在运行 iptables 和服务的机器上的端口。

您应该将链更改为 INPUT,在这种情况下,dport 就是您想要的,即您服务器上的端口。

编辑:除了添加这些规则之外,您可能还必须在 OUTPUT 链中创建适当的对应规则,这次使用 -sport。

答案2

省去很多麻烦,看看 shorewall。它使配置和管理变得更加简单。

相关内容