Vagrant 虚拟机无法从外部SSH访问

Vagrant 的Box是Ubuntu14.04 server amd64的,Vagrantfile里配置了publicnetwork,及接受DHCP指定的网关。
route -n的结果如下:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         [我的网关]       0.0.0.0         UG    0      0        0 eth1
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
[我所在的局域网] *               255.255.255.0   U     0      0        0 eth1

但是我从局域网任意一台机器上都无法访问这台虚拟机。求帮助。bridge在eth1上。

阅读 7.1k
2 个回答

这里假设你的publicnetwork粗心写错了, 因为注释里写着public_network. 同时假设你使用的是VirtualBox.

未能重现你的问题. 应该不是vagrant的问题.

探究过程

在将已有的虚拟机(原为nat网络)更改为public_network(对应virtualboxbridged network, 即桥接网络)时, vagrant up开机, 新增了一块网上eth1.

通过ifconfig来获取eth1ip地址, 假设为vm_ip1. 同局域网另一台主机(非虚拟机的宿主机)的ippc_ip2. 在虚拟机中设置包监听: tcpdump -i eth1 src host pc_ip2. 并在另一台主机中, ping vm_ip1, 能实现沟通.

其次, 又试了ssh vagrant@vm_ip1能正常登录. 这里vagrant是虚拟机的用户名.也试了vagrant ssh也能在宿主机正常登录虚拟机.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进