我有一个带有2个NIC(eth0,eth1)的系统,我用外部电缆连接它们(使用corssover电缆或将它们连接到同一个开关)。
我想要从eth0 ping eth1 ip地址我希望从eth0到eth1从外部(通过电缆)传输流量,但linux内核在内部发送流量而不允许它通过电缆,
我如何解决这个问题并在外部发送流量?
我使用ping" -I eth0"但问题存在。
答案 0 :(得分:1)
问题不在于VRF,而是在内核检测到它时使用的环回可以使用它而不是通过线路发送。
让我们使用真实的MAC地址和虚拟IP 地址和NAT来强制内核通过网络发送数据:
arp -s IP0 MAC0
arp -s IP1 MAC1
ip route add IP0 dev eth1
ip route add IP1 dev eth0
iptables -t nat -A POSTROUTING -d IP1 -j SNAT --to-source IP0
iptables -t nat -A POSTROUTING -d IP0 -j SNAT --to-source IP1
iptables -t nat -A PREROUTING -d IP0 -j DNAT --to-destination IP0
iptables -t nat -A PREROUTING -d IP1 -j DNAT --to-destination IP1
答案 1 :(得分:-1)
首先,奴役不同VRF上的至少一个接口然后尝试ping -l eth0 dest
Linux上有关VRF的一些有用资源:
https://www.kernel.org/doc/Documentation/networking/vrf.txt
https://renard.chezwam.org/blog/2014/09/vrf-on-linux/index.html
PS:它在BSD(rdomain)上简单得多:)