VMware下CentOS7在NAT模式中ping不通外网解决过程

    科技2026-01-02  13

    安装完centos后需要进行一些小设置才能访问外网。 按某个网课的教程设置后ping不通baidu,具体情况是:ping 8.8.8.8 unreachable 或者 ping www.baidu.com 未知的名称或服务 经过在网上一顿搜索解决方法,终于解决了,将完整过程记录一下。

    参考:https://blog.csdn.net/FrankArmageddon/article/details/79899841 十分感谢这位大佬!

    1 虚拟机设置网络连接模式

    安装完成后,vm菜单栏—虚拟机—设置—网络适配器—选自定义(下拉框中选VMent8)—确定

    2 虚拟网络编辑器

    vm菜单栏—编辑—虚拟网络编辑器 (1)先不要改什么东西,查看vmware的配置,如果之前出错过(像我这种不太了解网络技术知识的,设置之后发现ping不通的情况),请先还原默认设置(左下角) (2)查看VMnet8的NAT设置中的网关IP,记下来(我的是192.168.121.2) (3)再看这个网卡的DHCP设置,记下网段(我的是192.168.121.128-254) (4)查看VMnet8的MAC地址:开启虚拟机,在终端中输入ip addr即可看到(红线)

    3 编辑centos中的网络配置文件

    在终端输入命令(用root用户登录,“ifcfg-xxxx”根据网卡名不同而不同):

    vi /etc/sysconfig/network-script/ifcfg-ens32

    (1)添上一行 HWADDR 写查看的mac地址(我的文件本来没有这一行,如果有的则是修改) (2)BOOTPROTO 改为static(手动分配ip) (3)ONBOOT 改为yes (4)IP地址(IPADDR)设置一个在之前记的DHCP网段内的地址 (5)网关 GATEWAY 设置为之前NAT设置中记的网关IP (6)添加两个DNS:8.8.8.8和8.8.4.4(俺也不懂,大家都写了我就跟着写了) (7)TYPE 如果不是Ethernet(以太网)也要修改 改好之后,esc :wq保存退出。

    4 修改DNS配置文件

    vi /etc/resolv.conf

    添加下面两行(刚才添加的两个DNS),保存退出

    nameserver 8.8.8.8 nameserver 8.8.4.4

    5 关闭防火墙

    在终端输入命令:

    systemctl stop firewalld.service # 临时关闭防火墙 systemctl disable firewalld.service # 禁止开机启动

    6 重启网络服务

    service network restart

    这里我执行的时候出现了错误:

    Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details. [失败]

    按照提示输入systemctl status network.service后出现如下信息:

    …… # 只贴了标红的信息 10月 8 19:01:47 mini1 systemd[1]: Failed to start LSB: Bring up/down networking. ……

    百度了一番,发现这里的错误可能的原因有以下原因: (1)网络配置文件更改过程中因为手误敲错字母 (2)配置文件的MAC地址和实际不匹配 (3)和 NetworkManager 服务有冲突,这个直接关闭 NetworkManger 服务就好了:service NetworkManager stop,并且禁止开机启动 chkconfig NetworkManager off,之后重启就好了(这条我没试验过)

    7 尝试ping外网

    ping www.baidu.com

    如果上述问题都解决了,这一步应该是正常ping通了。

    8 总结

    感想就是,小白配一个虚拟机真难啊,不要一上来就跟着教程改各种地址,每个人的ip都不一样,对网络技术不熟悉的人很容易搞乱。整个过程比较关键的地方(也是我自己忽略的地方)就是: (1)vmnet8网卡的网关ip要跟ifcfg-ens32文件里的gateway对上,IPADDR要在DHCP网段中 (2)如果虚拟网络编辑器中勾选了使用本地DHCP服务将ip地址分配给虚拟机,好像就不用在本地连接那边设置了,直接自动分配就好(因为看到有些教程两边都要设置,这点不是很清楚) (3)vmnet8网卡的mac地址要在终端里用ip addr查看,用cmd看好像是不对的

    Processed: 0.018, SQL: 9