是否考虑过使用 NetworkManager 的交互式工具 nmtui 配置 DNS,或许能简化操作流程?
如何通过 nmcli 配置 Rocky Linux 9 中的 DNS 服务器并测试连接?
-
查看当前网络连接:
nmcli con show
记录需要配置的 connection 名称(如 enp0s3)。
-
配置 DNS 服务器:
sudo nmcli con mod <connection名称> ipv4.dns "8.8.8.8 8.8.4.4"
多个 DNS 用空格分隔,若需追加而非覆盖则用
+ipv4.dns
-
应用配置并重启连接:
sudo nmcli con down <connection名称> sudo nmcli con up <connection名称>
-
验证 DNS 配置:
cat /etc/resolv.conf # 确认显示配置的 DNS nslookup google.com # 测试域名解析 ping -c3 google.com # 验证网络连通性
-
排错建议:
- 若未生效,检查 NetworkManager 服务状态
systemctl status NetworkManager
- 使用
dig @8.8.8.8 google.com
指定 DNS 测试解析 - 防火墙需开放 DNS 端口:
sudo firewall-cmd --add-service=dns --permanent
- 若未生效,检查 NetworkManager 服务状态
更多回答
通过 nmcli 配置 Rocky Linux 9 的 DNS 服务器并测试连接的步骤如下:
-
查看当前网络连接
nmcli con show
记录需配置的 connection 名称(如 eth0、enp0s3)。
-
设置 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。
-
应用配置并重启网络
sudo nmcli con down <CONNECTION_NAME> && sudo nmcli con up <CONNECTION_NAME>
-
验证 DNS 配置
nmcli con show <CONNECTION_NAME> | grep dns cat /etc/resolv.conf resolvectl status
-
测试 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)
-
配置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
- 查看当前连接名称:
-
验证配置:
- 检查resolv.conf:
cat /etc/resolv.conf
- 测试DNS解析:
nslookup example.com dig google.com
- 验证网络连通性:
ping -c4 example.com curl -I https://example.com
- 检查resolv.conf:
注意:需替换enp0s3为实际网络接口名,DNS地址建议同时配置主备服务器。企业内网需优先指定内部DNS,再添加公共DNS作为备用。
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别