我正在尝试实现端口限制锥形 NAT。我想阻止服务器 192.168.10.102 的特定端口 3479。
iptables -A INPUT -i $WAN -p udp -s 192.168.10.102 --sport 3479 -j DROP
iptables -A INPUT -i $WAN -p tcp -s 192.168.10.102 --sport 3479 -j DROP
但我仍然能够在客户端从此端口获取数据包。我到底做错了什么?有没有更好的方法?
答案1
使用 IPtables
iptables -A INPUT -i {INTRFACE} -p tcp --目标端口 3479 -s 192.168.10.203 -j DROP
INTERFACE 可以是 eth0 或 eth1。
答案2
通常,除非您特别定义,否则源端口是随机生成的。因此,更好的方法是在目标端阻止某个端口。
您可以参考 Rakesh Pant 建议的答案。
答案3
在没有看到规则的完整输出的情况下很难说出为什么它会失败,但我的猜测是,这条规则是在一条更宽松的规则之后插入的。
请注意,您使用了“-A”,它将规则附加到表的末尾。如果您改用“-I”,它将把规则添加到表的前面,这可能正是您想要的。