一、首先查看你你的虚拟机的ip是否获取到
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:26:3b:e2 brd ff:ff:ff:ff:ff:ff
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:28:71:f8:c1 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
注意看ens33这个下面没有 inet 地址。所以,这样就是有问题的。
二、临时解决方案:
sudo dhclient ens33
这个重启后还是会出现获取不到的问题。其实问题的本质,就是你没有给ubuntu设置静态ip
三、解决方案:
这里需要结合虚拟机的地址设置。由于我这里的系统是ubuntu18.0.4,设置跟网上的不太一样,
cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet dhcp #也可以换成static,dhcp代表启用dhcp服务
address 192.168.79.128
netmask 255.255.255.0
gateway 192.168.79.2
那个auto ens33就是虚拟的网卡。这里的地址需要跟虚拟机的nat设置对应上,
address必须在 这里起始和结束之内(包含起始和结束)
netmask 和gateway 其实就是掩码和网关,这里对应上就可以了。