首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过不同的接口路由TCP/IP响应?

如何通过不同的接口路由TCP/IP响应?
EN

Stack Overflow用户
提问于 2011-05-25 21:48:02
回答 2查看 6.3K关注 0票数 7

我有两台机器,每台机器都有两个有效的网络接口,一个是以太网接口eth0,一个是tun/tap接口gr0。目标是使用接口gr0在机器A上启动TCP连接,然后通过以太网接口eth0返回来自机器B的响应( back等)。因此,机器A在gr0上发送SYN,而机器B在它自己的gr0上接收SYN,然后通过eth0发送回它的SYN/ACK。tun/tap设备是GNU无线电无线链路,我们只希望响应通过以太网。

实现这一目标的最简单方法是什么?我需要更多地研究TCP/IP,但我最初认为,源欺骗传出的数据包将告诉接收方响应欺骗的地址(应该路由到eth0)。这将涉及通过gr0来路由来自tun/tap接口的IP,并将其他流量留给eth0

我们使用Linux和Python解决方案会更好。

感谢您的关注!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-25 22:40:20

您可以向每个系统上的lo接口添加额外的地址,并将这些新地址用作TCP连接端点。然后,您可以使用静态路由来指示每台计算机采用哪条路径到达另一台计算机的lo地址。

例如:

代码语言:javascript
运行
复制
Machine A:
  ip addr add 1.1.1.1/32 dev lo
  ip route add 2.2.2.2/32 dev eth0 via <eth0 default gateway>

Machine B:
  ip addr add 2.2.2.2/32 dev lo
  ip route add 1.1.1.1/32 dev gr0

然后绑定到机器A上的1.1.1.1并连接到2.2.2.2。

票数 5
EN

Stack Overflow用户

发布于 2011-05-26 05:33:45

您可能有兴趣在受影响的接口上启用火星数据包net.ipv4.conf.all.log_martians日志记录,并禁用反向路径过滤net.ipv4.conf.<interface>.rp_filter

可以通过sysctl实用程序和/或/proc文件系统访问此sysctl变量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6125472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档