虚拟机与2个网卡

我有一个运行CentOS的2个networking接口的虚拟机。 一个连接到专用networking(192.168.6.x),另一个连接到我们的公司networking。 当我尝试从有访问权的主机ssh私有地址我没有得到任何回应。 看起来这个请求是通过一个接口进入的,但是出去了。 因为另一个接口没有返回路由,数据包就会丢失。 为什么不把它发回到相同的界面呢? 有一个设置,我可以启用,所以它会。

编辑:请忽略我以前说的ping工作,但ssh不是,我错了。

编辑:路由的结果-n

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.10.192.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.6.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.126.186.0 192.168.6.61 255.255.255.0 UG 0 0 0 eth0 172.91.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0.1026 10.126.163.0 172.91.4.1 255.255.255.0 UG 0 0 0 eth0.1026 10.164.0.0 172.91.4.1 255.255.0.0 UG 0 0 0 eth0.1026 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 1008 0 0 eth0.1026 144.0.0.0 172.91.4.1 255.0.0.0 UG 0 0 0 eth0.1026 147.0.0.0 172.91.4.1 255.0.0.0 UG 0 0 0 eth0.1026 0.0.0.0 172.91.4.1 0.0.0.0 UG 10 0 0 eth0.1026 

细节还是有点模糊,因为你似乎有很多静态路由到处都是,但有一件事情是基于你最后的答案,你在路由表中添加了一个条目:

 10.126.186.0 192.168.6.61 255.255.255.0 UG 0 0 0 eth0 

解决这个问题。 本质上这意味着10.126.186.0/24 via eth0 gateway 192.168.6.61

但你(来源)在10.126.186.22/25。 请注意不同的networking掩码。 如果目标服务器的IP地址高于10.126.186.128,这将导致问题。

此外,你不应该有自己的networking的网关地址。 所以这条路线应该是:

 route add -net 10.126.186.128/25 gw 192.168.6.61 

这个路由问题是因为你正在使用一个网关去到目的地系统,但它会尝试直接回复,因为它(目的地)认为它实际上是在同一个networking上(因为它的networking掩码比你的要宽),而不是通过网关192.168.6.61回去

如果这是唯一的问题,解决这个差异可能会解决这个问题。

就在你的最后一条评论中,说明它会通过eth1发布是不正确的,因为没有路由可以这样做。 但是,如果没有添加的路由,它将发送到您的默认网关172.91.4.1的eth0。 由此我假定这个172.91.4.1网关没有到10.126.186.128/25networking的连接,因此是错误的网关。 您添加192.168.6.61路线承担了这一点。

如果你给了目标服务器的IP地址(或者networking地址),那么你也可以更好地理解你的问题。 你确实指定了一个networking地址,但没有给你的问题。