5.4. 在现有 RHEL 安装上启用 eDNS
您可以在现有 RHEL 安装上启用加密的 DNS (eDNS),以使用 DNS-over-TLS 处理所有 DNS 流量。
先决条件
-
以
#命令提示符开头的命令需要sudo提供的管理特权或 root 用户访问权限。有关如何配置sudo访问权限的详情,请参考 启用非特权用户,以运行某些命令。 - 有一个现有的 RHEL 安装。
以下软件包已安装在您的系统上:
-
dnsconfd -
dnsconfd-dracut -
grubby
-
-
如果在 IBM Z 系统上,则已安装了
zipl工具。
流程
在
/etc/NetworkManager/conf.d/global-dot.conf文件中配置 NetworkManager:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关全局 DNS 选项的详情,请查看您系统上
NetworkManager.conf (5)手册页中的GLOBAL-DNS SECTION。可选:要使用自定义 CA 捆绑包验证上游 DoT 服务器,请将 PEM 格式的文件复制到
/etc/pki/dns/extracted/pem/tls-ca-bundle.pem文件中。注意在
/etc/pki/dns/extracted/pem中添加或删除证书后,重启dnsconfd服务以应用更改。启用
dnsconfd服务:systemctl enable --now dnsconfd
# systemctl enable --now dnsconfdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重新载入 NetworkManager:
systemctl reload NetworkManager
# systemctl reload NetworkManagerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为所有安装的内核重新生成
initramfs,以包含dnsconfd及其配置:for kernel in `rpm -q kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n'`; do dracut -f --kver="$kernel" done# for kernel in `rpm -q kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n'`; do dracut -f --kver="$kernel" doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将内核参数设置为当前和新安装的内核版本:
grubby --args="rd.net.dns=dns+tls://<server_ip>#<dns_server_hostname> rd.net.dns-resolve-mode=exclusive rd.net.dns-backend=dnsconfd" --update-kernel=ALL
# grubby --args="rd.net.dns=dns+tls://<server_ip>#<dns_server_hostname> rd.net.dns-resolve-mode=exclusive rd.net.dns-backend=dnsconfd" --update-kernel=ALLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果在 IBM Z 上,更新引导菜单:
zipl
# ziplCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证您的 eDNS 配置:
dnsconfd status
$ dnsconfd statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 预期输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
nslookup验证 DNS 服务器是否有响应:nslookup <domain_name>
$ nslookup <domain_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<domain_name>替换为您要查询的域。
故障排除
在
unbound中启用详细日志记录:unbound-control verbosity 5
# unbound-control verbosity 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看相关服务的日志:
journalctl -xe -u <service_name>
$ journalctl -xe -u <service_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<service_name>替换为NetworkManager、dnsconfd或unbound。