我有一个带有2个网卡(eth0,eth1)的系统,我用一根电缆对外连接(使用corssover电缆或将它们连接到同一个交换机上)。我想ping eth1的IP地址从eth0到eth1,我想从外部(通过电缆)传输eth0到eth1的流量,但是Linux内核内部发送流量,不允许它通过电缆,我如何解决这个问题?对外发送流量?
我用“-I族”来ping,但问题存在。
最佳答案
问题不在于vrf,而在于loopback,每当内核检测到它可以使用它,而不是通过连线发送。
让我们使用真实的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