2

我在一个数据包内有一个数据包,也就是隧道。所以它的形式是 [IP HEADER 1][IP HEADER 2][PAYLOAD]。在读取第一个标头(由库完成)后,我将在 iptables 的 INPUT 链中获得带有 [ IP HEADER 2] 的数据包。我想将数据包重新注入到 iptables 的开头,即 PREROUTING 链中。最终目标是将数据包转发到远程主机(这就是我希望数据包位于 PREROUTING 链中的原因)。我已经阅读了有关 libipq 的一些内容,但我不确定它是否是最好的方法。

4

1 回答 1

1

尽管可能有一些附加目标可以做到这一点。我的直觉是,您将使用MARK目标来标记此数据包,然后使用它iproute2来设置您希望它去哪里的路由。

就像是:

iptables -t mangle -A INPUT -s 192.168.1.2 -j MARK --set-mark 0xAA

ip rule add fwmark 0xAA table Reroute_Tunnel

然后由您来添加并决定Reroute_Tunnel表格的功能

于 2010-11-30T17:29:53.783 回答