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,不会再自动回滚。

相关推荐
开始King1 小时前
ubuntu 24.04.3 LTS + 5090 (安装ubuntu和5090显卡驱动)
linux·运维·ubuntu
明洞日记1 小时前
【数据结构手册005】树结构入门 - 从二叉树到层次智慧
网络·数据结构·c++
林政硕(Cohen0415)1 小时前
Ubuntu 下 Qt Creator 远程连接 ARM 板卡环境搭建
arm开发·qt·ubuntu
Evan芙1 小时前
Rocky Linux 9 网卡地址定制
linux·服务器·网络
Stara05111 小时前
基于WSL 2在Windows 11 构建深度学习开发环境 —— 以Ubuntu、Anaconda、PyCharm及GPU支持为核心
pytorch·ubuntu·windows 11·cuda·anaconda·wsl 2·pyrhon
bing_feilong1 小时前
ubuntu20.04没有图形界面怎么办?
linux·网络
5***r9351 小时前
Ubuntu 20.04配置网络
网络·ubuntu·php
新诺韦尔API2 小时前
手机在网时长查询接口对接全流程详解
大数据·网络·api
阿巴~阿巴~9 小时前
JsonCpp:C++ JSON处理利器
linux·网络·c++·json·tcp·序列化和反序列化