我是 Iptables 的新手,我试图只允许从 eth0 上的端口 51355 传出的 tcp 流量
以下是根据我目前在网上找到的信息进行的尝试:
iptables -A OUTPUT -o eth0 !-p tcp --dport 51355-j DROP
运行此程序时,我收到无效参数错误。如能提供任何帮助,我将不胜感激/
答案1
我建议您首先允许 dport 51355 的流量,然后删除接口上的所有其他内容
喜欢
-A OUTPUT -p tcp -m tcp -o eth0 --sport 51355 -j ACCEPT
-A OUTPUT -o eth0 -j DROP
答案2
使用之前必须指定要使用哪个模块!
。
iptables -A OUTPUT -o eth0 -p tcp -m tcp ! --dport 51355 -j DROP
您iptables-save -c
可以看到每个规则被使用的次数
现在如果你想要一些更复杂的东西,有时最好创建一个chain
一个更复杂的例子,创建一个chain
:
iptables -N FILTERBOT
iptables -A OUTPUT -o eth0 -j FILTERBOT
iptables -A FILTERBOT -p udp -j RETURN
iptables -A FILTERBOT -p tcp -m tcp ! --dport 51355 -j DROP
iptables -A FILTERBOT -m limit --limit 1/s -j LOG --log-prefix "CHAIN-FILTERBOT:"
iptables -A FILTERBOT -j DROP
PS:每个模块的更多信息 man iptables-extensions