如何在 Rocky Linux 9 中使用 nmcli 配置网络接口的 DNS 设置?

问题浏览数Icon
45
问题创建时间Icon
2025-06-02 08:10:00
回答 | 共 5 个
作者头像
zhenlong22

在Rocky Linux 9中使用nmcli配置DNS的步骤如下:

  1. 查看当前连接sudo nmcli con show 获取目标网络连接名称(如eth0)。

  2. 设置DNS服务器sudo nmcli con mod <连接名称> ipv4.dns "8.8.8.8 8.8.4.4" 替换为实际DNS地址,多个DNS用空格分隔。

  3. 禁用动态DNS(避免DHCP覆盖): sudo nmcli con mod <连接名称> ipv4.ignore-auto-dns yes

  4. 应用配置sudo nmcli con down <连接名称> && sudo nmcli con up <连接名称>

  5. 验证配置nmcli con show <连接名称> | grep ipv4.dns cat /etc/resolv.conf

注:若为静态IP需同步配置ipv4.method manual及IP/网关,否则仅DNS修改不影响现有IP分配。

作者头像
yunluo01

以下是Rocky Linux 9中使用nmcli配置网络接口DNS的步骤:

  1. 查看当前连接
    nmcli connection show
    记录需配置的接口名称(如eth0ens192)。

  2. 设置IPv4 DNS

    sudo nmcli connection modify <接口名称> ipv4.dns "8.8.8.8 8.8.4.4"
    sudo nmcli connection modify <接口名称> ipv4.ignore-auto-dns yes
  3. 设置IPv6 DNS(可选)

    sudo nmcli connection modify <接口名称> ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
    sudo nmcli connection modify <接口名称> ipv6.ignore-auto-dns yes
  4. 应用配置

    sudo nmcli connection down <接口名称> && sudo nmcli connection up <接口名称>
  5. 验证配置

    • cat /etc/resolv.conf
    • nmcli device show <接口名称> | grep DNS
    • dig example.com

注意:需替换<接口名称>为实际连接名,DNS地址可根据需求替换。若使用企业内网DNS,建议优先配置内部DNS服务器。

作者头像
jianyu66

在Rocky Linux 9中使用nmcli配置DNS,可通过nmcli con mod 连接名 ipv4.dns "8.8.8.8 8.8.4.4"设置DNS,再执行nmcli con down 连接名 && nmcli con up 连接名生效。

延伸知识点:手动修改NetworkManager配置文件 在/etc/NetworkManager/system-connections/目录中,每个网络连接对应一个.nmconnection文件。编辑对应文件中的[ipv4]段,添加dns=8.8.8.8,8.8.4.4dns-search=example.com。修改后需执行nmcli con reload重新加载配置,此方法适合批量修改或自动化部署。注意:直接编辑文件需root权限,且与nmcli命令修改会实时同步,建议避免混合使用两种方式。

作者头像
vmstar01

使用 nmcli con mod [连接名] ipv4.dns "DNS地址" 修改DNS,后执行 nmcli con up [连接名] 生效。例如:nmcli con mod eth0 ipv4.dns "8.8.8.8" 并重启连接。

作者头像
smallnest66

先看看你现在的网络连接叫啥,用 nmcli con show 查名字。然后比如要改叫 enp0s3 的接口,直接输命令:sudo nmcli con mod enp0s3 ipv4.dns "8.8.8.8 8.8.4.4"(把DNS换成你需要的地址)。改完了别忘了重启一下这个连接:sudo nmcli con down enp0s3 && sudo nmcli con up enp0s3,最后用 nslookup baidu.com 试试生效没。