一、问题由来

由于要在docker中发布一些微服务,然而当我打开虚拟机和远程连接工具之后,发现连接失败。之前也有过连接失败,但是通过不知道什么操作之后迷迷糊糊的就连上了,可是,现在它又回到连接不上的状态了。让人很头疼啊。

二、尝试解决

(1)普通的解决方法

首先打开虚拟机,找到编辑,点击“虚拟网络编辑器”,点击进入。

输入虚拟机ip打不开nginx 虚拟机ip不通_输入虚拟机ip打不开nginx


按照如下顺序,进行设置:

输入虚拟机ip打不开nginx 虚拟机ip不通_虚拟机_02


在NAT设置里,确保子网IP和网关在同一网段

输入虚拟机ip打不开nginx 虚拟机ip不通_IPV6_03

进入确保DHCP设置,按照如下进行设置,确保起始IP和结束IP的前三位和之前设置的ip前三位相同。

输入虚拟机ip打不开nginx 虚拟机ip不通_IPV6_04


进入虚拟机,修改ip地址的配置文件:

命令:

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

注意最后的ifcfg-eno16777736每台机器可能不一样,所以请用 ip addr 进行查看:

一般呢这个就是:

输入虚拟机ip打不开nginx 虚拟机ip不通_网络_05


然后编辑配置文件,可以按照如下进行设置:

PEERROUTES=yes

IPV4_FAILURE_FATAL=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy

NAME=eno16777736
UUID=a65a4279-a8a4-46ca-a5c2-bd0691b7f7d6
DEVICE=eno16777736

ONBOOT=yes

BROADCAST=192.168.137.255
IPADDR=192.168.137.128
NETMASK=255.255.255.0
GATEWAY=192.168.137.2
DNS1=8.8.8.8
DNS2=8.8.8.4

BOOTPROTO=static

其中 BROADCAST 在 DHCP 设置的那张图里可以看到,IPADDR 设置为起始和终止 ip 之间任意 IP 即可,固定 ip 之后方便后续各种使用。

设置了这些之后,打开网络连接,找到VMnet8

输入虚拟机ip打不开nginx 虚拟机ip不通_虚拟机_06


然后右键单击,找到属性,进入 IPv4 的设置:

输入虚拟机ip打不开nginx 虚拟机ip不通_虚拟机_07


其中 ip 可以不一样,但是必须在同一网段,基本参照下图:

输入虚拟机ip打不开nginx 虚拟机ip不通_虚拟机_08


点击确定,保存退出,重新连接:

输入虚拟机ip打不开nginx 虚拟机ip不通_虚拟机_09


如果还是连不上,请参照下面的解决方案。

(2)比较让人难受的地方

最容易忽视的就是最让人难受的。

(1)确保VM相关的服务是开启状态:

进入服务,找到这几个VM相关服务,一定要处于工作状态!如果没有,请手动开启。

输入虚拟机ip打不开nginx 虚拟机ip不通_IPV6_10

(2)设置 网络连接

如果你是笔记本,连的 WiFi (蓝牙和网线的也差不多,都可以参照此步骤):

输入虚拟机ip打不开nginx 虚拟机ip不通_输入虚拟机ip打不开nginx_11


然后右键单击,选择属性,按照如下进行设置。

输入虚拟机ip打不开nginx 虚拟机ip不通_虚拟机_12


ps :提醒一下,如果这样设置以后,最好返回 VMnet8 的设置,重新按照之前的步骤,改一下 ip ,因为当你勾选这个之后,系统会为 VMnet8 重新分配 ip,

输入虚拟机ip打不开nginx 虚拟机ip不通_网络_13


这里是已经设置过了,所以没有那种效果,但是 ip 会改变是亲测有效。

经历了如上之后,如果你还是 ping 不通,可以选择查看一下,其他大佬的教程。不过多半都解决了,现在主机和虚拟机之间已经能够 ping 通。