5154

Good Luck To You!

ubuntu dns配置重启后没了

检查 /etc/NetworkManager/NetworkManager.conf[main] 段是否含 dns=none,若无则添加后重启 NetworkManager,再手动配置 `/etc

Ubuntu系统DNS配置重启后丢失的详细解决方案

问题现象描述

在Ubuntu系统中手动配置DNS服务器后,重启网络或系统时发现/etc/resolv.conf文件中的DNS配置被重置,导致无法正常解析域名,这是由于系统网络管理工具(如Netplan、NetworkManager)自动覆盖了手动修改的配置。


问题根源分析

可能原因 详细说明
网络管理工具自动覆盖配置 Ubuntu使用Netplan/NetworkManager管理网络,重启时会重写/etc/resolv.conf
未通过正确方式配置DNS 直接修改/etc/resolv.conf属于临时配置,未被网络管理工具识别
系统使用systemdresolved服务 该服务会强制管理DNS解析,覆盖手动配置
配置文件语法错误 YAML/JSON格式错误导致配置未生效,回退到默认设置

解决方案步骤

确认系统网络管理工具

Ubuntu不同版本使用不同的网络管理工具:

ubuntu dns配置重启后没了

  • Ubuntu 20.04+:默认使用 Netplan(配置路径 /etc/netplan/
  • Ubuntu 18.04及之前:默认使用 NetworkManager(配置路径 /etc/NetworkManager/systemconnections/
检查当前网络管理工具
# 检查Netplan是否启用
ls /etc/netplan/
# 检查NetworkManager是否运行
systemctl status NetworkManager

通过Netplan配置DNS(Ubuntu 20.04+)

步骤1:编辑Netplan配置文件
sudo nano /etc/netplan/01netcfg.yaml
步骤2:添加DNS配置
# 示例配置(以ens33网卡为例)
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: yes
      # 静态DNS配置(覆盖DHCP分配的DNS)
      dns4:
        8.8.8.8
        8.8.4.4
      # 静态IP配置(如需)
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
步骤3:应用配置
sudo netplan apply

通过NetworkManager配置DNS(Ubuntu 18.04及之前)

步骤1:编辑连接配置文件
sudo nano /etc/NetworkManager/systemconnections/<连接名称>.nmconnection
步骤2:添加DNS服务器
<connection>
  ...
  <ipv4>
    <method>auto</method>
    <dns>
      <dnssearch>[域后缀]</dnssearch>
      <dnsservers>
        <address>8.8.8.8</address>
        <address>8.8.4.4</address>
      </dnsservers>
    </dns>
  </ipv4>
  ...
</connection>
步骤3:重启NetworkManager
sudo systemctl restart NetworkManager

禁用systemdresolved服务(可选)

如果系统使用systemdresolved服务,需禁用它以避免冲突:

# 停止并禁用服务
sudo systemctl stop systemdresolved
sudo systemctl disable systemdresolved
# 删除其生成的resolv.conf符号链接
sudo unlink /etc/resolv.conf

验证配置是否生效

方法1:检查/etc/resolv.conf
cat /etc/resolv.conf
# 应显示配置的DNS服务器(如8.8.8.8)
方法2:测试DNS解析
# 测试域名解析
nslookup www.google.com
# 查看当前DNS服务状态
systemdresolve status

常见问题与解答

问题1:为什么/etc/resolv.conf修改后立即生效,但重启后失效?

解答
/etc/resolv.conf文件由网络管理工具(如Netplan、NetworkManager)或systemdresolved服务自动生成,直接修改该文件属于临时操作,重启后会被系统重新生成,必须通过修改对应网络管理工具的配置文件来永久生效。

ubuntu dns配置重启后没了


问题2:如何恢复默认DNS配置?

解答

  1. 通过Netplan恢复:删除dns4字段后执行sudo netplan apply
  2. 通过NetworkManager恢复:删除<dnsservers>节点后重启服务。
  3. 启用systemdresolved:执行sudo systemctl enable systemdresolved并重新创建/etc/resolv.conf的符号链接。

Ubuntu系统的DNS配置需通过对应的网络管理工具(Netplan/NetworkManager)进行持久化设置,避免直接修改/etc/resolv.conf,若需自定义DNS,请按照上述步骤修改配置文件并应用,同时注意关闭可能冲突的服务(如`

ubuntu dns配置重启后没了

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年6月    »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.