ip表端口fwd复制数据包

我想转发在端口162上接收的udp数据包到另一个port.ex:8981

我已经执行了以下cmd

iptables -A PREROUTING -t nat -p tcp --dport 162 -j REDIRECT --to-port 8981 

我看到我正在接收8981上的重复数据包

有人能指导我做正确的做法吗?

另外如何删除上面的规则?

TIA,/ d

我们将留下“重复数据包”的问题,直到有更多的诊断数据可用,但删除规则很简单。

要删除iptables规则,只需将-Areplace为-D

 iptables -D PREROUTING -t nat -p tcp --dport 162 -j REDIRECT --to-port 8981 

如果您使用-IN ,则可以使用iptables -DN ,但是如果随后插入了任何规则,那么这是有风险的。

如果你真的搞砸了,甚至不知道你运行了什么iptables命令( bash有命令历史logging是有原因的…),那么你可以列出链条中的所有规则:

 iptables -t nat -L PREROUTING --line-numbers 

这会得到你这样的输出:

 Chain int2ext (1 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 2 ACCEPT all -- 192.0.2.0/24 0.0.0.0/0 3 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 4 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 

然后,find您要删除的规则对应的num列条目,然后运行

 iptables -t nat -D PREROUTING <num>