如何在 Rocky Linux 9 中使用 nmcli 配置静态 DNS 服务器?

问题浏览数Icon
8
问题创建时间Icon
2025-06-02 00:38:00
回答 | 共 3 个
作者头像
rainstorm99

在Rocky Linux 9中通过nmcli配置静态DNS服务器的实践经验如下:

  1. 基础配置
    使用 nmcli con show 确认网络连接名称(如ens192),执行 nmcli con mod [连接名] ipv4.dns "8.8.8.8 1.1.1.1" 设置DNS,必须追加 ipv4.ignore-auto-dns yes 参数禁用DHCP分配的DNS。

  2. 关键挑战

    • 连接重启失效:需通过 nmcli con down/up [连接名] 而非systemctl重启网络服务
    • resolv.conf未更新:检查NetworkManager.conf中是否启用dns=default配置项
    • 多网卡干扰:使用nmcli -f NAME,DEVICE con show精准定位物理接口绑定关系
  3. 验证环节
    执行resolvectl status观察当前DNS配置,通过dig @8.8.8.8 google.com +short直接验证指定DNS服务器的解析能力。

  4. 高阶实践
    对bonding接口需在聚合通道上配置DNS而非物理接口,IPv6需单独设置ipv6.dns参数。企业环境建议通过nmcli connection edit交互模式批量配置,避免参数遗漏。

作者头像
mochun2023

是否考虑过使用nmtui工具,它提供了一个更直观的界面来配置网络设置,包括DNS?

作者头像
sunshine001

在Rocky Linux 9中使用nmcli配置静态DNS服务器的步骤如下:

  1. 查看当前网络连接

    nmcli connection show

    记录需要配置的连接名称(如eth0ens192)。

  2. 设置静态DNS服务器

    sudo nmcli connection modify <连接名称> ipv4.dns "8.8.8.8 8.8.4.4"
    sudo nmcli connection modify <连接名称> ipv4.ignore-auto-dns yes

    替换<连接名称>为实际值,DNS地址可按需修改。

  3. 应用配置并重启连接

    sudo nmcli connection down <连接名称>
    sudo nmcli connection up <连接名称>
  4. 验证DNS配置

    cat /etc/resolv.conf
    nmcli connection show <连接名称> | grep ipv4.dns

⚠️ 注意:

  • 若需IPv6配置,将命令中的ipv4改为ipv6
  • 确保关闭DHCP的DNS覆盖(ignore-auto-dns参数)
  • 配置后建议测试nslookupdig确认解析正常