刚配置完欧拉系统,结果卡在网络设置环节了,记录一下排错过程
问题现象
在 VMware 虚拟机中新安装 openEuler 22.03 LTS SP2 后:
# yum 安装软件时报错[root@localhost ~]# yum install -y ntp ntpdateOS: Curl error(6): Couldn't resolvehostnamefor...# ping 公网 IP 失败[root@localhost ~]# ping 8.8.8.8ping: connect: Network is unreachable# ping 百度失败[root@localhost ~]# ping www.baidu.comping: www.baidu.com: Name orservicenot known排查步骤(按顺序执行)
第一步:查看网卡 IP 地址
ipaddr正常结果示例:
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> ... state UP inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute ens33
state UP表示网卡已启用,inet后有 IP 地址说明已获取到 IP。
第二步:查看路由表——检查是否配置了默认网关(关键)
iproute show** 问题结果(没有网关):**
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.11 metric 100缺少
default via ...一行,说明没有配置默认网关。
** 正常结果:**
default via 192.168.1.254 dev ens33 192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.11 metric 100所以我们先配置网关
第三步:测试网关连通性(配置网关后执行)
ping-c4192.168.1.254VMware NAT 模式下默认网关通常是
.1或.254,根据你的虚拟网络设置决定。
第四步:测试公网 IP 连通性
ping-c48.8.8.8| 结果 | 结论 |
|---|---|
| 通 | 网络层正常,问题在 DNS |
| 不通(Network is unreachable) | 网关配置缺失或错误 |
第五步:测试 DNS 解析(选做)
nslookuprepo.openeuler.org解决方案(按顺序执行)
一,添加默认网关(解决Network is unreachable)
# 通过 nmcli 永久配置网关nmcli con mod ens33 ipv4.gateway192.168.1.254 nmcli con mod ens33 ipv4.method manual# 重启网卡使配置生效nmcli con down ens33&&nmcli con up ens33# 验证网关已生效iproute show# 现在应该能看到 default via 192.168.1.254 dev ens33如果nmcli不可用,用ip命令临时添加网关(测试用,重启失效):
iprouteadddefault via192.168.1.254二,配置DNS(解决Could not resolve host)
# 通过 nmcli 配置 DNS(持久生效)nmcli con mod ens33 ipv4.dns"8.8.8.8 114.114.114.114"nmcli con down ens33&&nmcli con up ens33# 验证 DNS 配置cat/etc/resolv.conf# 应该能看到 nameserver 8.8.8.8 或 nameserver 114.114.114.114如果nmcli配置后resolv.conf仍未更新,手动写入:
echo"nameserver 8.8.8.8">/etc/resolv.confecho"nameserver 114.114.114.114">>/etc/resolv.conf🧪 最终验证
按顺序执行以下命令,全部通即为正常:
# 1. 测试网关ping-c4192.168.1.254# 2. 测试外网 IPping-c48.8.8.8# 3. 测试域名解析ping-c4www.baidu.com# 4. 测试 yum 源yum makecache排错结论速查表
| 测试结果 | 问题诊断 | 解决方案 |
|---|---|---|
ip addr无 IP | 网卡未启动或 DHCP 失败 | nmcli con up ens33或检查 VMware DHCP 服务 |
ip route show无default via | 网关未配置 | 执行方案一添加网关 |
ping 网关不通 | 网络配置或 VMware NAT 服务问题 | 检查 VMware NAT Service |
ping 8.8.8.8通,ping www.baidu.com不通 | DNS 未配置 | 执行方案二配置 DNS |
yum报错Could not resolve host | DNS 未配置 | 执行方案二配置 DNS |
说明
为什么要配网关?
- 虚拟机要访问外网,必须知道“出口”在哪里。
- 网关就是虚拟网络的“大门”,所有去外网的数据包都要通过网关转发。
- VMware NAT 模式下,网关通常是
.1或.254,由虚拟网络编辑器中的 NAT 设置决定。
为什么要配 DNS?
ping 8.8.8.8通但ping www.baidu.com不通,说明网络通了但域名无法解析成 IP。- DNS 服务器的作用就是把域名(如
www.baidu.com)翻译成 IP 地址(如183.232.231.172)。 - 常用的公共 DNS:
8.8.8.8(Google)、114.114.114.114(国内通用)。