iptables 传出重定向被忽略

iptables 传出重定向被忽略

我想将来自我的机器端口的传出包重定向12345到另一个进程进行修改(netsed),然后将其发送到目标。

我可以使用 删除传出的包iptables -A OUTPUT -p tcp --dport 12345 -j DROP。因此,不再通过 发送包12345

为了将它们重定向到 netsed,我似乎需要使用 NAT 表和 DNAT:

iptables -t nat -A OUTPUT -p tcp --dport 12345 -j DNAT --to-destination 127.0.0.1:$netsed_port

这是正确的方法吗?

因为它不起作用:它不会阻止传出的包到达其原始的远程目标。它应该这样做,对吧?将它们重定向到死胡同不应该等于丢弃它们吗?此外,我没有在 netsed 的端口上收到任何包。

/使用 REDIRECT 也无济于事:iptables -t nat -A OUTPUT -p tcp --dport 12345 -j REDIRECT --to-port $netsed_port

答案1

需要定义 iptables 规则第一个包由端口上的相应进程发送12345。这解决了我的问题。

我也尝试禁用防火墙ufw disable。不确定这会对 iptables 产生什么影响。

重定向和 dnat 实际上在这里同样有效

相关内容