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

问题浏览数Icon
23
问题创建时间Icon
2025-06-02 08:10:00
作者头像
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命令修改会实时同步,建议避免混合使用两种方式。

更多回答

作者头像
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 试试生效没。

作者头像
vmstar01

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

作者头像
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分配。