普通网友 2025-07-14 14:55 采纳率: 98.2%
浏览 0
已采纳

问题:Ubuntu中如何修改NDS配置?

问题:在Ubuntu系统中,如何正确修改NDS(假设为DNS)配置文件以实现域名解析设置?常见的方法是编辑`/etc/resolv.conf`或使用`netplan`、`NetworkManager`等工具进行配置。许多用户在修改后发现配置未生效或重启后恢复默认,这通常是由于系统服务管理机制导致的配置覆盖问题。请结合不同网络管理工具,分析Ubuntu中修改DNS配置的正确方法及常见注意事项。
  • 写回答

1条回答 默认 最新

  • 关注

    Ubuntu系统中正确配置DNS的方法与注意事项

    在Ubuntu系统中,域名解析(DNS)的配置看似简单,但常常因为网络管理工具的不同、服务覆盖机制的存在而导致配置未生效或重启后恢复默认。本文将从基础配置方式入手,逐步深入到不同网络管理工具的使用方法,并结合常见问题进行分析。

    1. 基础:手动修改 /etc/resolv.conf

    /etc/resolv.conf 是Linux系统中用于定义DNS服务器的配置文件。一个最简单的配置如下:

    nameserver 8.8.8.8
    nameserver 8.8.4.4
    • 优点:直接、直观;适合临时调试。
    • 缺点:易被其他网络服务覆盖,重启后可能失效。

    2. 深入:理解网络管理工具对DNS的影响

    Ubuntu 系统根据版本和安装方式,可能使用不同的网络管理工具,这些工具会动态生成或覆盖 /etc/resolv.conf 文件。

    网络管理工具适用场景影响DNS的方式
    netplanUbuntu Server 17.10+ 或使用YAML配置的系统通过应用层设置自动更新resolv.conf
    NetworkManager桌面版Ubuntu或移动设备接管DNS配置并动态更新
    systemd-resolved默认启用,尤其在较新版本中提供本地DNS缓存服务,影响全局DNS行为

    3. 实践:基于不同网络管理工具配置DNS

    3.1 使用 netplan 配置 DNS

    适用于 Ubuntu Server 版本,配置文件一般位于 /etc/netplan/ 目录下,例如 01-netcfg.yaml

    network:
      version: 2
      ethernets:
        enp0s3:
          dhcp4: no
          addresses:
            - 192.168.1.100/24
          gateway4: 192.168.1.1
          nameservers:
              addresses:
                - 8.8.8.8
                - 8.8.4.4

    配置完成后执行:

    sudo netplan apply

    3.2 使用 NetworkManager 配置 DNS

    桌面环境推荐使用图形界面配置,也可使用命令行工具 nmtuinmcli

    sudo nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4"

    3.3 使用 systemd-resolved 配置 DNS

    编辑配置文件 /etc/systemd/resolved.conf

    [Resolve]
    DNS=8.8.8.8
    FallbackDNS=8.8.4.4
    Domains=~.

    然后重启服务:

    sudo systemctl restart systemd-resolved

    4. 常见问题与解决方案

    1. DNS配置修改后未生效?
      检查是否被 systemd-resolvedNetworkManager 覆盖,查看当前 resolv.conf 内容是否为软链接。
    2. 重启后配置丢失?
      不要直接编辑 /etc/resolv.conf,应通过上层工具(如 netplan、NetworkManager)进行配置。
    3. 如何确认当前使用的DNS?
      使用命令 systemd-resolve --status 查看当前解析状态。

    5. 进阶:配置流程图与建议

    graph TD A[开始] --> B{是否使用netplan?} B -->|是| C[编辑netplan配置文件] B -->|否| D{是否使用NetworkManager?} D -->|是| E[使用nmtui或nmcli配置] D -->|否| F[检查systemd-resolved状态] F --> G[编辑resolved.conf并重启服务] C --> H[执行netplan apply] E --> I[重启NetworkManager] G --> J[重启resolved服务] H --> K[验证DNS解析] I --> K J --> K
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 7月14日