加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 19:20:46 所属栏目:Linux 来源:网络整理
导读:我有两台机器,每台机器有两个有效的网络接口,一个以太网接口eth0和一个tun / tap接口gr0.目标是使用接口gr0在机器A上启动TCP连接,然后让机器B的响应(ACK等)通过以太网接口eth0返回.因此,机器A在gr0上发出SYN,机器B在其自己的gr0上接收SYN,然后通过eth0发回其
我有两台机器,每台机器有两个有效的网络接口,一个以太网接口eth0和一个tun / tap接口gr0.目标是使用接口gr0在机器A上启动TCP连接,然后让机器B的响应(ACK等)通过以太网接口eth0返回.因此,机器A在gr0上发出SYN,机器B在其自己的gr0上接收SYN,然后通过eth0发回其SYN / ACK. tun / tap设备是GNU Radio无线链路,我们只希望响应来自以太网.

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

我们使用Linux并且Python解决方案更可取.

谢谢你的期待!

解决方法

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

例如:

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读