请指教:
我添加下一个 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。它使配置和管理变得更加简单。