菜鸟一只,若有不正之处,还请批评指正。
1.这个问题就是网络适配器 VMware Network Adapter VMnet8的IPv4和虚拟机IP不在同一网段,改为同一个网段就好了。
2.如果都设置在同一网段了主机ping虚拟机还不通,试着把VMware Network Adapter VMnet8禁用再重启试试。(这是为什么呢?总这样!!!)
3.若果还不行,有可能是防火墙的问题,尤其是ping Windows虚拟机时,建议将Windows虚拟机的防火墙关掉再试试。
(描述的不太严谨,理解意思就行了)
以下为我的解决方法,仅供参考。
问题描述:
// 我这是在NAT模式下的问题
连接xshell
Connecting to 192.168.219.100:22... Could not connect to '192.168.219.100' (port 22): Connection failed.
Type `help' to learn how to use Xshell prompt.
主机ping虚拟机
C:\Users\a2416>ping 192.168.219.100
正在 Ping 192.168.219.100 具有 32 字节的数据:
请求超时。
请求超时。
192.168.29.100 的 Ping 统计信息: 数据包: 已发送 = 2,已接收 = 0,丢失 = 2 (100% 丢失), Control-C
虚拟机ping主机
[root@localhost ~]# ping 192.168.112.51 PING 192.168.112.51 (192.168.112.51) 56(84) bytes of data. From 192.168.29.100 icmp_seq=1 Destination Host Unreachable From 192.168.29.100 icmp_seq=2 Destination Host Unreachable From 192.168.29.100 icmp_seq=3 Destination Host Unreachable From 192.168.29.100 icmp_seq=4 Destination Host Unreachable ^C --- 192.168.112.51 ping statistics --- 6 packets transmitted, 0 received, +4 errors, 100% packet loss, time 5002ms pipe 4
问题分析:
一开始我是xshell连接不上了,我最开始以为是防火墙的原因,端口没开或者是sshd服务没启动,查看了之后发现没问题。然后我用8080端口试了一下,也不可以。然后我就ping主机,结果不通,然后我发现是IP地址的问题,我的电脑的网络适配器 VMware Network Adapter VMnet8的IPv4 地址变了,而且我的Linux是指定的IP地址,这就使网络适配器 VMware Network Adapter VMnet8和虚拟机不在同一网段。又一次感到了自己知识的匮乏,计算机网络必须抓紧学学。
解决方案:
情况一:如果你的网络适配器 VMware Network Adapter VMnet8的IPv4是固定的,那么
修改虚拟机的IP地址使之与网络适配器 VMware Network Adapter VMnet8的IPv4在同一网段,例如:
网络适配器 VMware Network Adapter VMnet8的IPv4的地址为192.168.219.1
那么虚拟机的IP要为192.168.219.* // *取值范围为0-255
情况二:如果你的虚拟机的IP是固定的,那么
将网络适配器 VMware Network Adapter VMnet8的IPv4的地址改为和虚拟机IP在同一网段。
情况三:如果都是自动获取的话(应该不会出这个问题吧),参考上面两种方法。
上面两种方法的本质就是网络适配器 VMware Network Adapter VMnet8的IPv4和虚拟机IP要在同一网段。
步骤:
情况一 修改虚拟机IP
1.在主机上查看网络适配器 VMware Network Adapter VMnet8的IPv4地址
我的是192.168.219.1
2.虚拟机上 vim /etc/sysconfig/network-scripts/ifcfg-ens33 //这个ens33可以在虚拟机里的网络那找到,可能每个人不是都一样
3.找到并设置正确的IP
1)设置IPADDR
这是我设的 IPADDR=192.168.219.100
没有就直接加上这一项,我有是因为我之前就设为固定IP了,设置过。
2)再下面两个是网关和域名解析器(GATEWAY 、DNS1)
设置的值可以在VM上找到,反正我是这么找的,而且还能用:编辑>>虚拟网络编辑器>>VMnet8>>NAT设置 然后就看见了,DNS和网关设一样的值。(一般将IP最后改为2就是了)
3)改BOOTROTO="dhcp"
// 现在的意思是动态获取ip地址 ,既然要设置固定的IP,则要改为static
BOOTROTO=static
4.service network restart
5.测试一下
查看一下虚拟机IP
6.连接xshell
ping主机
问题解决。
情况二 修改网络适配器 VMware Network Adapter VMnet8的IPv4
1.查看虚拟机IP
2.主机上右键网络打开”网络和Internet“设置>>点击更改适配器选项>>右键VMware Network Adapter VMnet8打开属性>>双击Internet协议版本4(TCP/IPV4)>>点击使用下面的IP,IP地址改为和虚拟机IP在同一网段的地址
这一步之后主机ping虚拟机不通,我是禁用了VMware Network Adapter VMnet8,再重新启动了一下就通了。