Red Hat Training
A Red Hat training course is available for RHEL 8
第 38 章 在不同域中使用不同的 DNS 服务器
默认情况下,Red Hat Enterprise Linux(RHEL)将所有 DNS 请求发送到 /etc/resolv.conf
文件中指定的第一个 DNS 服务器。如果这个服务器没有回复,RHEL 会使用这个文件中的下一个服务器。
在一个 DNS 服务器无法解析所有域的环境中,管理员可将 RHEL 配置为将特定域的 DNS 请求发送到所选 DNS 服务器。例如,您可以配置一个 DNS 服务器来解析对 example.com
的查询,配置另一个 DNS 服务器来解析对 example.net
的查询。对于所有其他 DNS 请求,RHEL 使用与默认网关连接中配置的 DNS 服务器。
systemd-resolved
服务仅作为技术预览提供。红帽产品服务级别协议(SLA)不支持技术预览功能,且其功能可能并不完善,因此红帽不建议在生产环境中使用它们。这些预览可让用户早期访问将来的产品功能,让用户在开发过程中测试并提供反馈意见。
如需有关 技术预览功能支持范围 的信息,请参阅红帽客户门户网站中的技术预览功能支持范围。
38.1. 将特定域的 DNS 请求发送到所选 DNS 服务器
您可以配置 systemd-resolved
服务和 NetworkManager,将特定域的 DNS 查询发送到所选 DNS 服务器。
如果您完成这个过程,RHEL 将使用 /etc/resolv.conf
文件中由 systemd-resolved
提供的 DNS 服务。systemd-resolved
服务启动一个 DNS 服务,该服务侦听端口 53
,IP 地址 127.0.0.53
。该服务会动态将 DNS 请求路由到 NetworkManager 中指定的对应 DNS 服务器。
127.0.0.53
地址只能从本地系统访问,而不能从网络访问。
先决条件
- 系统配置了多个网络管理器连接。
在负责解析特定域的 NetworkManager 连接中配置 DNS 服务器和搜索域
例如:如果 VPN 连接中指定的 DNS 服务器应该可以解析对
example.com
域的查询,则 VPN 连接配置文件必须有:-
配置一个可以解析
example.com
的 DNS 服务器 -
在
ipv4.dns-search
和ipv6.dns-search
参数中将搜索域配置为example.com
-
配置一个可以解析
步骤
启动并启用
systemd-resolved
服务:# systemctl --now enable systemd-resolved
编辑
/etc/NetworkManager/NetworkManager.conf
文件,并在[main]
部分中设置以下条目:dns=systemd-resolved
重新载入
NetworkManager
服务:# systemctl reload NetworkManager
验证步骤
验证
/etc/resolv.conf
文件中的nameserver
条目是否指向127.0.0.53
:# cat /etc/resolv.conf nameserver 127.0.0.53
验证
systemd-resolved
服务是否监听本地 IP 地址127.0.0.53
上的端口53
:# ss -tulpn | grep "127.0.0.53" udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=1050,fd=12)) tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=1050,fd=13))
其他资源
-
NetworkManager.conf(5)
man page