我有一个主机上有3个虚拟机的虚拟环境。 我的一台虚拟机有2个networking接口。
我需要具有两个接口的虚拟机连接到两个不同的networking。
这里是拓扑结构 
我的主机有一个
ip 192.168.3.29networking掩码255.255.255.0网关192.168.3.1
3个虚拟机具有IP地址
ip 192.168.3.30 netmask 255.255.255.0网关192.168.3.1
ip 192.168.3.31networking掩码255.255.255.0网关192.168.3.1
ip 192.168.3.32 netmask 255.255.255.0网关192.168.3.1
现在我将以下设置添加到虚拟机,以允许它与另一个networking进行通信。 地址10.10.0.10networking掩码255.255.255.0
我将下面的行添加到文件/ etc / iproute2 / rt_tables中
1 rt2
然后我运行下面的命令。
ip route add 10.10.0.99/32 dev eth1 src 10.10.0.10 table rt2 ip route add default via 10.10.0.1 dev eth1 table rt2 ip rule add from 10.10.0.99/32 table rt2 ip rule add to 10.10.0.99/32 table rt2
我试图达到的ip是10.10.0.99,我只想要一个IP通过这条路线访问。
由于某种原因,当我尝试ping上述configuration后,我得到目标无法访问IP。
我可以不通过网关192.168.3.1到达服务器10.10.0.99,但是在我的节点和另一个节点之间存在不必要的节点数量,这有时会造成麻烦。
我的脚步有什么问题吗?
我遵循这里的步骤
我在这里发现另一个类似的问题
这似乎表明我正朝着正确的方向前进。
如果您的虚拟机1在networking10.10.0.0/24有一个IP,则不需要任何路由与10.10.0.99进行通信,因为两个主机都在同一个networking中。
您必须确保IP为10.10.0.99的主机位于相同的交换域中,并具有24位子网掩码,即255.255.255.0 。
如果不是这种情况,请提供有关主机10.10.0.99的切换configuration和IPconfiguration的更多信息。