我有一个双端口以太网 NIC,假设我已将 2 个端口连接成一个循环,并将以下 IP 分配给 2 个以太网接口:
- eth2 -> 192.168.2.1
- eth3 -> 192.168.3.1
我想通过物理网络将流量从 1 个端口发送到另一个端口,例如 ping192.168.3.1
从192.168.2.1
. 但是,Linux 内核中的 TCP/IP 堆栈识别这两个地址是本地地址,而是将流量发送到环回适配器,因此流量永远不会到达物理网络。
我最接近的解决方案是 Anastasov 的send-to-self 补丁,不幸的是,它自内核 3.6 以来已停产,因此它不适用于我的 Ubuntu 13.10(内核 3.11)。我尝试过为 3.11 重写补丁,但我似乎无法在 Ubuntu 发行版中找到这些补丁:
- 包括/linux/inetdevice.h
- 净/ipv4/devinet.c
- 网络/ipv4/fib_frontend.c
- 网络/ipv4/route.c
- 文档/网络/ip-sysctl.txt
有没有办法让发送到自我的补丁工作,或者替代?