Puphpet / Vagrant:无法访问具有IP地址的LAMP VM

时间:2017-07-25 05:30:03

标签: ubuntu vagrant virtualbox ubuntu-16.04 puphpet

我使用Puphpet.com部署了一个带有VirtualBox 5.1.24的本地Ubuntu 16.04 LAMP开发机器。我使用VM IP地址(192.168.56.101)更新了/ etc / hosts。

$ cat /etc/hosts

127.0.0.1   localhost
127.0.1.1   flippy
192.168.56.101  dev.mysite.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

我可以通过SSH连接到虚拟机,但我无法通过IP地址(192.168.56.101)或域名访问它。

Ping失败:

$ ping 192.168.56.101

PING 192.168.56.101 (192.168.56.101) 56(84) bytes of data.
^C
--- 192.168.56.101 ping statistics ---
164 packets transmitted, 0 received, 100% packet loss, time 166895ms

curl失败了:

$ curl -v 192.168.56.101

* Rebuilt URL to: 192.168.56.101/
*   Trying 192.168.56.101...
* connect to 192.168.56.101 port 80 failed: Connection timed out
* Failed to connect to 192.168.56.101 port 80: Connection timed out
* Closing connection 0
curl: (7) Failed to connect to 192.168.56.101 port 80: Connection timed out

此外,主机上的netstat -rn未显示虚拟机IP地址的路由:

$ netstat -rn

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 wlp1s0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlp1s0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp1s0

我还能检查什么?

1 个答案:

答案 0 :(得分:0)

我提供了an answer here,我认为这是相关的,但是我会在这里发布,以及任何其他人想知道这个线程寻找解决方案。

这听起来很像bug in VirtualBox 5.1.24,修正于5.1.26。

问题似乎是VirtualBox无法为仅限主机的网络创建路由引起的。要检查是否是这种情况,在主机上运行vagrant up后,从终端运行netstat -rn。这将显示内核IP路由表中的可用路径。将有几行输出,但在其中你应该看到你的私人网络IP看起来像这样:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.56.101  0.0.0.0         255.255.255.0   U         0 0          0 vboxnet3

如果您没有看到该IP的路由集,那么您可能已被此错误所困扰。升级到Virtualbox 5.1.26为我解决了这个问题(在Linux上。)但是puphpet.com在主页上说明了这一点:

  

官方推荐的Virtualbox版本是5.0.26!

所以你可能想回滚到那个版本