想要解决xshell连接不到虚拟机的问题,那我们就要先了解,虚拟机通讯的原理
虚拟机通过eth0或者ens33网卡访问到自己的虚拟机路由,在通过vmnet8网卡与宿主机进行通讯,在访问外网时,还需要有网关地址,这样虚拟机访问外网,就是封装自己的IP,使用网关去进行访问。
所以我们的xshell连接不到虚拟机时,我们应该从外到内的去排查,
- vmnet是否开启,宿主机是否能和vmnet的ip进行通讯
- vmare是否开启了nat 模式,使用vmnet8。
- ssh服务是否开启(netstat ps-ef )
- 防火墙是否关闭。
1.宿主机查看vmet8
[c:\~]$ ping 10.0.0.1
正在 Ping 10.0.0.1 具有 32 字节的数据:
来自 10.0.0.1 的回复: 字节=32 时间<1ms TTL=128
来自 10.0.0.1 的回复: 字节=32 时间<1ms TTL=128
2.查看vmware网络配置和虚拟机ip地址
看我们的配置是否和vmnet8是否在同一个网段。
3.查看sshd服务是否开启
netstat -ntlp | grep sshd
ps -ef | grep sshd
看我们xsehll配置的地址和sshd端口是否一致
4.关闭防火墙
systemctl stop firewalld #Centos7命令
5. 我的问题分析
我的这次连接不上的原因是因为我配置路由模式,开启了仅主机模式,宿主机给我配置了一块仅主机模式的网卡,虽然我在vmware里面使用的时nat模式,但是好像收到了影响,我将其关闭后,正常连接
6. 补充一个VMnet 8自动跃点
上次我用了vmnet 0网络之后,我的主机 上出现这个
所以 我有时候 来链接不上虚拟机 我就把 Vmnet 8重启,但是 每次很麻烦 所以我仔细研究下 更改自动活跃点 让vmnet8网络优于 vmnet1
- 右击属性
取消勾选自动跃点 我这里设置为10
这样就可以优先使用VMnet8网络