使用带有2个NIC卡的Linux进行路由

已configuration清除OS在具有两个NIC卡的计算机上处​​于网关模式。

eth0:192.168.2.0/24与ip 192.168.2.27连接到一个调制解调器,因此有互联网连接。

eth1:192.168.122.0/24与ip 192.168.122.10通过交换机连接到LAN中的其他机器。

networking192.168.122.0的局域网机器没有得到互联网。他们如何通过Clear OS网关获得互联网。我使用“ ip_forward = 1 ”在透明的操作系统中启用了数据包转发。我错过了什么?请帮助我。

以下是我添加的静态路由:在LAN machine1上,IP地址为192.168.122.11

ip route add 192.168.2.0/24 via 192.168.122.10 dev eth0 

ip路由显示

 192.168.2.0/24 via 192.168.122.10 dev eth0 192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.11 

但仍然192.168.2.0/24networking不可达。在哪里可以是问题?

编辑 :所有的机器都是在xen上运行的虚拟机。

networking192.168.2.0/24通过具有主机以太网卡的网桥,networking192.168.122.0/24通过具有虚拟机的虚拟网桥。

如果Xenconfiguration了桥接networking将VM guest连接到主机LAN接口,则guest虚拟机不应位于单独的IP子网中。 “桥”连接两个在“硬件”(即以太网)层面上不相交的networking。 在这种情况下,所有虚拟和物理机器应该在192.168.2.0/24中有地址。

另一方面,如果物理LAN和虚拟LAN没有桥接,那么您需要单独的IP子网,并在它们之间进行路由。 NAT(在Linux主机上)是可选的,但如果您的Internet“调制解调器”设备只希望提供对一个IP子网的访问,则可能需要NAT。 如果您这样做,则需要将guest虚拟机configuration为使用192.168.122.10作为其默认网关。

它工作在一台真正的机器上。我不知道为什么它不能在VM上工作,但是当我尝试在真正的硬件上设置相同的设置时,它可以工作。可以给我一个解释。