虚拟机centos7,NAT模式下ping不通外网故障排查
0.前提准备:
0.1检查主机网络是否连接

0.2检查防火墙是否关闭
# 查看防火墙状态
sudo systemctl status firewalld
# 永久关闭
sudo systemctl disable firewalld
#检验是否关闭
sudo systemctl status firewalld
0.3检查网络服务状态
0.3.1检查主机上的虚拟机的网络服务是否开启

0.3.2检查虚拟机上的网络服务是否开启
有些版本会有两个网络服务,network和NetworkManage,如果两个都开启的话,可能会发生冲突,一般只启动network
# 查看两个服务的运行状态
systemctl status network
systemctl status NetworkManager
#保留network,关闭NetworkManager sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl restart network
一、检查虚拟机的网络设置
1.确认网络适配器模式:
点击菜单栏的“设置”,找到“网络适配器”,确保选择模式为“NAT模式”

2.查看虚拟机网络编辑器:
点击“编辑”,找到“虚拟机网络编辑器”
2.1检查VMnet8的子网ip和子网掩码:
确保VMnet8的外部链接为“NAT模式”,记住此处的VMnet8的子网IP和默认子网掩码,下面会用到,此处我的分别为192.168.110.0和225.225.225.0。
2.2查看VMnet8 NAT网关地址:
点击“NAT设置”即可查看“网关IP”,记住此处,下面会用到,我的是192.168.110.2。

此外图片中的圈画的“使用本地DHCP服务将IP地址分配给虚拟机”,如果你选择动态IP地址,则这里必须选上,选择静态IP地址,选不选无影响。若要修改此处,点击“更改设置”即可。
下面的所有修改网络配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)的命令,必须重启网络后,才可生效!!!
sudo systemctl restart network
二、检查虚拟机网络配置
在命令行输入cat /etc/sysconfig/network-scripts/ifcfg-ens33
cat /etc/sysconfig/network-scripts/ifcfg-ens33

1.检查此时ens33网卡
检查此时ens33网卡是否启动(我的网卡名为ens33,有些为eth0,eth1等等)ONBOOT=yes表示启动。若修改,运行sudo systemctl restart network
2.检查虚拟机IP地址(IPADDR)
检查虚拟机的IP地址(IPADDR)是否在正确的网段上虚拟机IP的前三段必须与VMnet8子网IP的前三段完全相同。在上面我们已经确认我的子网IP是192.168.110.0,此时我们得到我的IP地址是192.168.110.100,两者前三段一致。若修改,运行sudo systemctl restart network
3.检查此时虚拟机的子网掩码(NETMASK)是否与VMnet8的默认的子网掩码一致。两者都是225.225.225.0。若修改,运行sudo systemctl restart network
4.检查虚拟机中默认网关(GETWAY)
检查虚拟机中默认网关(GETWAY),此网关必须和VMnet8 NAT网关一致。此时两者网关都为192.168.110.2。同时可以检查网关是否生效,使用命令ip route
ip route

若没有显示这一行“default via 192.168.110.2 dev ens33 proto static metric 100
”,则网关没有配置或者没有正确配置导致网卡失效,下面永久配置网关。记得将网关名字修改为自己的。
# 编辑网卡配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 添加或修改这一行
GATEWAY=192.168.110.2
# 重启网络
sudo systemctl restart network
测试网关的连通性:
ping -c 4 192.168.110.2
#此处改为你的虚拟机的网关

5.检查虚拟机获取ip地址方式(BOOTPROYO)
检查获取ip地址(IPADDR)的方式,若BOOTPROTO=static表示静态IP,BOOTPROTO=dhcp表示动态IP。这里需要注意,若使用动态ip,在上面我们已经提到的,虚拟机网络编辑器中“使用本地DHCP服务将IP地址分配给虚拟机”必须勾选
6.检查DNS服务
查看DNS,DNS将人可读的域名(如www.baidu.com)转换为机器可读的IP地址。常见的公用有8.8.8.8,1.1.1.1,223.5.5.5,114.114.114.114等等,DNS此处我的DNS用的是 192.168.110.2

下面检查你写出到/etc/sysconfig/network-scripts/ifcfg-ens33文件中的DNS在你的虚拟机上是否可用。
使用nslookup baidu.com 192.168.110.2,指定DNS服务192.168.110.2去查询baidu.com,此处需要换成你自己上面写的DNS。如果出现下面的内容就说明你的DNS是没有问题的。此处一定要验证,不可仅仅使用ping DNS,如ping 8.8.8.8,ping 114.114.114.114来验证!如果有问题,更改DNS。若修改,运行sudo systemctl restart network
nslookup baidu.com 192.168.110.2

有些主机使用校园网情况下,是没法使用公共DNS服务8.8.8.8,114.114.114.114的!!!
下面是错误演示:


更多推荐
所有评论(0)