问题
I used Puphpet.com to deploy a local Ubuntu 16.04 LAMP development machine with VirtualBox 5.1.24. I updated /etc/hosts with the VM IP address (192.168.56.101).
$ 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
I can SSH into the VM, but I cannot access it via IP address (192.168.56.101) nor domain name.
Ping fails:
$ 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
And curl fails:
$ 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
Additionally netstat -rn
on host machine does not show a rout for the VM IP address:
$ 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
What else can I check?
回答1:
I've provided an answer here that I believe is related however I will post it here as well incase anyone else wonders into this thread looking for a solution.
This sounds a lot like a bug in VirtualBox 5.1.24 which is fixed in 5.1.26.
The problem seems to be caused by VirtualBox failing to create a rout for host-only networks. To check if this is the case, after running vagrant up
on your host machine run netstat -rn
from your terminal. This will show you available routs in your Kernel's IP routing table. There will be several lines of output but among it you should see your private networks IP looking something like this:
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
If you don't see a rout set for that IP then you have likely been bitten by this bug. Upgrading to Virtualbox 5.1.26 fixed the problem for me (on Linux.) However puphpet.com says this on the home page:
The official recommended Virtualbox version is 5.0.26!
So you may want to roll back to that version
来源:https://stackoverflow.com/questions/45294615/puphpet-vagrant-unable-to-access-lamp-vm-with-ip-address