DNS域名解析错误

DNS域名解析错误

主要报错和解决流程

bash 复制代码
root@hadoop-master:~# ping www.baidu.com
PING www.a.shifen.com (39.156.70.239) 56(84) bytes of data.
​
^C--- www.a.shifen.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2078ms
​
# 这里可知是能够解析出来百度的IP,但PING不通,接着我们尝试ping本机的IP和网关的IP,发现只PING网关IP不通,所以判定是此处的问题 
​
root@hadoop-master:~# ip addr show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:6e:cb:b8 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.236.128/24 brd 192.168.236.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe6e:cbb8/64 scope link 
       valid_lft forever preferred_lft forever
root@hadoop-master:~# route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0         192.168.236.2   0.0.0.0         UG    20100  0        0 ens33
192.168.232.2   0.0.0.0         255.255.255.255 UH    20100  0        0 ens33
192.168.236.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
​
# 以上可知,本机的IP为处于 236.0 网段,但是网关却是 232.2 ,此时需要点击虚拟机的"网络编辑",将网段更改一致,后面附网络编辑图片;
​
root@hadoop-master:~# ip route add default via 192.168.232.2 dev ens33
root@hadoop-master:~# route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0         192.168.236.2   0.0.0.0         UG    0      0        0 ens33
0.0.0.0         192.168.232.2   0.0.0.0         UG    20100  0        0 ens33
192.168.232.2   0.0.0.0         255.255.255.255 UH    20100  0        0 ens33
192.168.236.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
# 系统添加一条默认路由,当系统访问一个没有在路由表中匹配到 "具体路由规则" 的 IP 地址时,所有网络流量会默认通过 ens33 网卡发送到 192.168.236.2 这个网关地址
​
root@hadoop-master:~# ping www.baidu.com
PING www.a.shifen.com (39.156.70.239) 56(84) bytes of data.
64 bytes from 39.156.70.239: icmp_seq=1 ttl=128 time=60.8 ms
64 bytes from 39.156.70.239: icmp_seq=2 ttl=128 time=89.6 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 60.826/75.196/89.567/14.370 ms

网络编辑



附加问题

在配置修改网络的过程中如果使用nmtui修改,激活后查看又总是回退,导致修改无效

原因:nmtui 修改的配置会被 Ubuntu 优先使用的 netplan 配置文件覆盖(或 DHCP 自动回写),导致修改不持久,每次重启网络/重新进入 nmtui 都会恢复成原错误。

解决思路: 直接修改 netplan 配置文件(系统级持久配置),彻底覆盖错误的网关/IP,禁用 DHCP 自动分配(避免自动回写)。

分步解决(永久生效,不再回滚)

步骤1:找到并备份 netplan 配置文件

Ubuntu 的 netplan 配置文件在 /etc/netplan/ 下,先定位并备份:

bash 复制代码
# 1. 查看netplan配置文件(通常是 00-installer-config.yaml 或 50-cloud-init.yaml)
ls /etc/netplan/

# 2. 备份配置文件(防止改错)
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
步骤2:编辑 netplan 配置文件(关键!禁用DHCP+手动配正确网关)
bash 复制代码
sudo vim /etc/netplan/00-installer-config.yaml

删除原有内容,替换为以下配置(重点修改IP、网关为VMware虚拟网络编辑器里的正确值,比如:

  • IP:192.168.232.135/24(和虚拟机网段匹配,最后一位自定义);

  • 网关:192.168.232.2(VMware NAT网关的正确IP,替换你之前错误的232.1);

  • DNS:填公共DNS即可)。

配置示例(严格遵守YAML语法:缩进用2个空格,冒号后加空格)

bash 复制代码
network:
  ethernets:
    ens33:  # 你的网卡名(用 ip addr 确认,通常是ens33/eth0)
      dhcp4: no  # 禁用DHCP(核心!避免自动分配错误网关)
      addresses: [192.168.232.135/24]  # 静态IP,和网关同网段
      gateway4: 192.168.232.2  # VMware虚拟网络里的正确网关(替换232.1)
      nameservers:
        addresses: [223.5.5.5, 114.114.114.114]  # 公共DNS,可选
  version: 2
  renderer: NetworkManager  # 确保nmtui/NetworkManager能识别配置
步骤3:应用配置并重启网络(立即生效)
bash 复制代码
# 1. 应用netplan配置(检查语法,无报错则生效)
sudo netplan apply
​
# 2. 重启NetworkManager(清除缓存,避免残留配置)
sudo systemctl restart NetworkManager
​
# 3. 清除NetworkManager的旧连接缓存(关键!避免回滚)
sudo nmcli connection reload
sudo nmcli connection down ens33 && sudo nmcli connection up ens33
步骤4:验证配置是否持久(不再回滚)
bash 复制代码
# 1. 查看当前IP/网关(确认是配置的232.135/232.2)
ip addr show ens33
ip route
​
# 2. 重新进入nmtui查看(验证是否不再回滚)
sudo nmtui

此时进入 nmtui 后,IPv4的网关/IP应该固定为你配置的 192.168.232.2/192.168.232.135,不会再变回 232.1

步骤5:测试网关连通性
bash 复制代码
ping 192.168.232.2 -c 3

关键注意事项

  1. YAML语法不能错 :缩进必须用空格(不能用Tab),冒号后必须加空格(比如 dhcp4: no 而非 dhcp4:no),否则 netplan apply 会报错;

  2. 网关必须和VMware一致:先在VMware虚拟网络编辑器中确认NAT网关的IP(比如232.2),再填到配置文件里;

  3. 禁用DHCP是核心 :如果 dhcp4: yes,VMware会自动分配网关,导致配置被覆盖,必须设为 no

若仍回滚的兜底方案(清除旧连接)

如果以上步骤后仍回滚,说明有旧的NetworkManager连接缓存,彻底删除重建:

bash 复制代码
# 1. 查看所有网络连接
sudo nmcli connection show
​
# 2. 删除旧连接(比如名称是netplan-ens33)
sudo nmcli connection delete netplan-ens33
​
# 3. 重新应用netplan配置(自动重建连接)
sudo netplan apply

完成后,nmtui 的配置会永久固定为你设置的正确网关/IP,不会再自动回滚。

相关推荐
掘根4 小时前
【消息队列项目】虚拟机管理实现
网络
老王熬夜敲代码5 小时前
网络中数据传输的具体过程
linux·网络·笔记
汤愈韬6 小时前
TK_网络基础和常见攻击(笔记)
网络·笔记
北邮刘老师6 小时前
【智能体互联协议解析】需要“智能体名字系统”(ANS)吗?
网络·人工智能·大模型·智能体·智能体互联网
知识分享小能手7 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的桌面环境 (4)
linux·学习·ubuntu
照海19Gin8 小时前
【企业网架构实验解析】三层组网与 AC+AP 无线部署的协议逻辑(eNSP 仿真实践)
网络
Lilixxs8 小时前
wireshark LLDP 协议抓包获取 M580 PLC 网口地址
网络·测试工具·wireshark·plc·施耐德·lldp·m580
vortex58 小时前
Linux下局域网IPv6地址发现与扫描
网络
北邮刘老师8 小时前
【智能体互联协议解析】身份码-智能体的身份证号
网络·人工智能·大模型·智能体·智能体互联网
日更嵌入式的打工仔10 小时前
Ethercat COE 笔记
网络·笔记·ethercat