2.2. 在断开连接的环境中的 DNS 连接问题故障排除
如果您在断开连接的环境中配置 nmstate
时遇到 DNS 连接问题,您可以配置 DNS 服务器来解析域 root-servers.net
的名称服务器列表。
确保 DNS 服务器包含 root-servers.net
区域的名称服务器(NS)条目。DNS 服务器不需要将查询转发到上游解析器,但服务器必须为 NS 查询返回正确的回答。
2.2.1. 配置名为 server 的 bind9 DNS 复制链接链接已复制到粘贴板!
对于配置为查询 bind9
DNS 服务器的集群,您可以将 root-servers.net
区域添加到至少一个 NS 记录的配置文件。例如,您可以使用 /var/named/named.localhost
作为已匹配此条件的区域文件。
流程
运行以下命令,在
/etc/named.conf
配置文件末尾添加root-servers.net
区域:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令重启
named
服务:systemctl restart named
$ systemctl restart named
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令确认
root-servers.net
区已存在:journalctl -u named|grep root-servers.net
$ journalctl -u named|grep root-servers.net
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Jul 03 15:16:26 rhel-8-10 bash[xxxx]: zone root-servers.net/IN: loaded serial 0 Jul 03 15:16:26 rhel-8-10 named[xxxx]: zone root-servers.net/IN: loaded serial 0
Jul 03 15:16:26 rhel-8-10 bash[xxxx]: zone root-servers.net/IN: loaded serial 0 Jul 03 15:16:26 rhel-8-10 named[xxxx]: zone root-servers.net/IN: loaded serial 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证 DNS 服务器是否可以解析
root-servers.net
域的 NS 记录:host -t NS root-servers.net. 127.0.0.1
$ host -t NS root-servers.net. 127.0.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Using domain server: Name: 127.0.0.1 Address: 127.0.0.53 Aliases: root-servers.net name server root-servers.net.
Using domain server: Name: 127.0.0.1 Address: 127.0.0.53 Aliases: root-servers.net name server root-servers.net.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2. 配置 dnsmasq DNS 服务器 复制链接链接已复制到粘贴板!
如果您使用 dnsmasq
作为 DNS 服务器,您可以将 root-servers.net
域的解析委派给另一个 DNS 服务器,例如,使用您指定的 DNS 服务器创建新配置文件来解析 root-servers.net
。
运行以下命令,创建一个将域
root-servers.net
委派给另一个 DNS 服务器的配置文件:echo 'server=/root-servers.net/<DNS_server_IP>'> /etc/dnsmasq.d/delegate-root-servers.net.conf
$ echo 'server=/root-servers.net/<DNS_server_IP>'> /etc/dnsmasq.d/delegate-root-servers.net.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令重启
dnsmasq
服务:systemctl restart dnsmasq
$ systemctl restart dnsmasq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令确认
root-servers.net
域已被委派给另一个 DNS 服务器:journalctl -u dnsmasq|grep root-servers.net
$ journalctl -u dnsmasq|grep root-servers.net
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Jul 03 15:31:25 rhel-8-10 dnsmasq[1342]: using nameserver 192.168.1.1#53 for domain root-servers.net
Jul 03 15:31:25 rhel-8-10 dnsmasq[1342]: using nameserver 192.168.1.1#53 for domain root-servers.net
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证 DNS 服务器是否可以解析
root-servers.net
域的 NS 记录:host -t NS root-servers.net. 127.0.0.1
$ host -t NS root-servers.net. 127.0.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: root-servers.net name server root-servers.net.
Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: root-servers.net name server root-servers.net.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow