可以 ssh 到另一个子网中的物理服务器,但不能 ssh 到该机器上的桥接虚拟机

can ssh to physical server in another subnet, but cannot ssh to bridged vm on that machine

子网 192.168.2.0 中的主机 A 192.168.2.4

子网 192.168.3.0 中的主机 B 192.168.3.53

子网 192.168.3.0 中的主机 C 192.168.3.54

主机 B 上的 VM D 192.168.3.60,桥接网络

  1. 主机A可以ssh到主机B和主机C
  2. 主机 B 和主机 C 可以通过 ssh 连接到虚拟机 D

但是,

  1. 主机 A 无法通过 ssh(甚至 ping)到虚拟机 D

我使用 vagrant 来启动虚拟机,供应商是 VirtualBox。

谁能指出问题出在哪里?非常感谢。

已解决!

Vagrant推出的VirtualBox Vm有2个网卡

eth0: 10.0.2.15
eth1: 192.168.3.60

并且默认网关设置为 10.0.2.2。

如果我想ssh到虚拟机,我应该将其默认网关设置为与子网192.168.3.0相同(例如192.168.3.252)并删除之前的默认网关10.0.2.2

所以,我在vm上为解决问题所做的是:

$ sudo 路由添加默认 gw 1​​92.168.3.252
$ sudo route del default gw 1​​0.0.2.2