如何通过 nmcli 配置 Rocky Linux 9 中的 DNS 服务器并测试连接?

问题浏览数Icon
8
问题创建时间Icon
2025-05-20 00:32:00
作者头像
stardust09
  1. 查看当前网络连接

    nmcli con show

    记录需要配置的 connection 名称(如 enp0s3)。

  2. 配置 DNS 服务器

    sudo nmcli con mod <connection名称> ipv4.dns "8.8.8.8 8.8.4.4"

    多个 DNS 用空格分隔,若需追加而非覆盖则用 +ipv4.dns

  3. 应用配置并重启连接

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

    cat /etc/resolv.conf  # 确认显示配置的 DNS
    nslookup google.com   # 测试域名解析
    ping -c3 google.com   # 验证网络连通性
  5. 排错建议

    • 若未生效,检查 NetworkManager 服务状态 systemctl status NetworkManager
    • 使用 dig @8.8.8.8 google.com 指定 DNS 测试解析
    • 防火墙需开放 DNS 端口:sudo firewall-cmd --add-service=dns --permanent

更多回答

作者头像
yunluo99

是否考虑过使用 NetworkManager 的交互式工具 nmtui 配置 DNS,或许能简化操作流程?

作者头像
mistgear99

通过 nmcli 配置 Rocky Linux 9 的 DNS 服务器并测试连接的步骤如下:

  1. 查看当前网络连接

    nmcli con show

    记录需配置的 connection 名称(如 eth0、enp0s3)。

  2. 设置 DNS 服务器

    sudo nmcli con mod <CONNECTION_NAME> ipv4.dns "8.8.8.8 8.8.4.4"
    sudo nmcli con mod <CONNECTION_NAME> ipv6.dns "2001:4860:4860::8888"

    多个 DNS 用空格分隔,支持 IPv4/IPv6。

  3. 应用配置并重启网络

    sudo nmcli con down <CONNECTION_NAME> && sudo nmcli con up <CONNECTION_NAME>
  4. 验证 DNS 配置

    nmcli con show <CONNECTION_NAME> | grep dns
    cat /etc/resolv.conf
    resolvectl status
  5. 测试 DNS 解析

    dig @8.8.8.8 google.com +short  # 指定 DNS 服务器测试
    nslookup google.com            # 测试系统级解析
    ping -c4 google.com            # 验证网络连通性

注意

  • 若使用 DHCP,需添加 ipv4.ignore-auto-dns yes 参数
  • 若存在 NetworkManager 与 systemd-resolved 冲突,可通过 systemctl restart NetworkManager 重置
  • 防火墙需放行 DNS 端口(udp/53)
作者头像
firepath88
  1. 配置DNS服务器

    • 查看当前连接名称:nmcli con show
    • 修改对应连接的DNS(示例连接名enp0s3):
      nmcli con mod enp0s3 ipv4.dns "8.8.8.8 8.8.4.4"
      nmcli con mod enp0s3 ipv4.ignore-auto-dns yes
    • 应用配置:
      nmcli con down enp0s3 && nmcli con up enp0s3
  2. 验证配置

    • 检查resolv.conf:cat /etc/resolv.conf
    • 测试DNS解析:
      nslookup example.com
      dig google.com
    • 验证网络连通性:
      ping -c4 example.com
      curl -I https://example.com

注意:需替换enp0s3为实际网络接口名,DNS地址建议同时配置主备服务器。企业内网需优先指定内部DNS,再添加公共DNS作为备用。