VMware Workstation 17.5.1 网络故障排查:解决 NAT 模式无法访问外网问题

问题描述

在虚拟机中版本VMware 17.5.1,linux环境centos7.9 使用的是NAT方式,连接不到外网的解决方案,原因是网络服务冲突,CentOS 7 开始从传统的 network 服务向 NetworkManager 过渡 ,传统 network 服务NetworkManager 服务 同时运行,导致资源竞争,在较新的 CentOS 8/9 中,已经完全转向 NetworkManager,这种问题就很少见了。

之前能ping通外部网络的都有ens33网络模块,会有一个局域网的ip,类似于192.168.31.143这样的ip模块,这个不存在。

bash 复制代码
[stark@localhost ~]$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:a3:0e:0f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

解决步骤

1、清理冲突进程

停止了所有可能冲突的服务和进程,为重新配置提供了干净的环境

bash 复制代码
sudo systemctl stop NetworkManager
sudo systemctl stop network
sudo pkill dhclient

2、重置接口状态

清除了可能存在的旧 IP 配置,重置了网络接口的软件状态

bash 复制代码
sudo ip addr flush dev ens33
sudo ip link set dev ens33 down

3、检查网络配置文件

bash 复制代码
sudo cat /etc/sysconfig/network-scripts/ifcfg-ens33
//确保内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens33
DEVICE=ens33
ONBOOT=yes

4、重启网络服务

bash 复制代码
# 先启动 NetworkManager
sudo systemctl start NetworkManager

# 等待几秒后启动 network 服务
sudo systemctl start network

5、如果仍然失败,使用 NetworkManager 直接管理

bash 复制代码
# 禁用传统的 network 服务
sudo systemctl disable network

# 启用 NetworkManager
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

# 使用 nmcli 配置网络
sudo nmcli connection delete ens33 2>/dev/null
sudo nmcli connection add type ethernet con-name ens33 ifname ens33
sudo nmcli connection up ens33

6、手动获取 IP 地址

bash 复制代码
# 启用网络接口
sudo ip link set ens33 up

# 强制释放并重新获取 IP
sudo dhclient -r ens33
sudo dhclient -v ens33

# 检查是否获取到 IP
ip addr show ens33

7、验证

bash 复制代码
[stark@localhost ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.143  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::20c:29ff:fe78:2946  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:78:29:46  txqueuelen 1000  (Ethernet)
        RX packets 147  bytes 27275 (26.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 27  bytes 4553 (4.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:a3:0e:0f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

至此,完美解决了VMware 不能访问外网的问题!

相关推荐
DigitalOcean7 小时前
Omarchy 将研发基础设施迁移至 DigitalOcean 云平台
linux·agent
牢姐与蒯7 小时前
Linux文件(一).前传之基础IO
linux·运维·服务器
码不停蹄Zzz7 小时前
linux驱动程序入门2
linux
ShineWinsu7 小时前
对于MySQL:内置函数的解析
linux·数据库·c++·mysql·面试·函数·查询
万物智能信息科技8 小时前
RK3568 的多路显示移植—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
linux·开发语言·华为·开源·harmonyos
IT菜鸟程8 小时前
Ubuntu 下 apt 版 Nginx 升级为源码编译版本完整操作指南(1.24.0 → 1.30.4 实战)
linux·nginx·ubuntu
新时代牛马8 小时前
Linux 磁盘管理:分区、文件系统、挂载与扩容
linux·运维·服务器
weixin_402486349 小时前
VS Code Codex/Claude Extension 无法安装 / 无法正常打开
linux·服务器·vscode
奋斗的阿狸_19869 小时前
ch32v003j4m6+ws2812b方案2:规划引脚定义
linux
Mr-Apple9 小时前
系统找不到指定的文件-CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND
linux·windows·ubuntu·wsl