【发布时间】:2014-12-16 19:29:58
【问题描述】:
我有 3 台机器 - A、B、C,我正在尝试做一些类似于 DNAT 的事情。
1) A 向 B 发送一个数据包。
2) B 收到数据包并修改后发送给 C。
在机器-B,我使用 iptables 和 nfqueue 来接收数据包。
iptables -I INPUT -p tcp -j NFQUEUE --queue-num 1
在机器 B 上,(1)我修改数据包(我们将修改后的数据包称为 new_packet),(2)我使用原始套接字将 new_packet 发送到机器 C,以及(3)丢弃原始数据包机器 B收到了。
我觉得这些步骤是多余的(这会增加延迟),应该有更好的方法。
是否可以将机器B收到的原始数据包破坏,然后简单地将数据包转发给C。
附: iptables 中的 DNAT 功能没有用,因为我需要做更多的修改。
【问题讨论】:
标签: linux sockets networking iptables