在源和目标之间打开UDP套接字,修改它并将其转发到原始目标

时间:2013-04-24 09:06:48

标签: c linux sockets routing ipv6

我正在运行一个包含2个节点和网关的简单网络。我的场景如下:Node1想要通过网关向Node2发送UDP IPv6套接字,必须打开套接字,验证数据然后转发。

我在Node1和Gateway之间配置了一个内部网络,其地址为 aaaa :: / 20 ,而Gateway和Node2之间的另一个网络的地址为 aaab :: / 20 < / strong>即可。我修改了Node1路由表,通过连接到网关的 aaaa :: / 20 接口发送发往 aaab :: / 20 网络的数据包,并配置前者转发数据包。

我的问题是通过这样做,网关变得完全透明。我希望我的网关能够捕获套接字,即使它们不是注定它,打开它们,修改它们并将它们转发到它们的原始目的地。谷歌搜索这个,我发现使用iptables的建议,但我不是他们的专家。

我在linux下使用3个虚拟机并使用c编程。请帮忙吗?!!

1 个答案:

答案 0 :(得分:0)

Iptables不值得害怕;)它有自己定义的C函数。浏览界面库并将其应用到您自己的案例中。这是在网关中运行程序,以捕获通过它的所有数据包。有documentation