在当今网络环境中,DNS(域名系统)是互联网运行的基础之一。然而,传统的DNS协议存在被劫持、缓存污染等安全风险。为了提升安全性,DNSSEC(Domain Name System Security Extensions,域名系统安全扩展)应运而生。本文将为你详细介绍如何在RockyLinux系统中配置和启用DNSSEC,即使是初学者也能轻松上手。
什么是DNSSEC?
DNSSEC 是一种用于验证DNS响应真实性的安全协议。它通过数字签名确保你访问的网站地址没有被篡改,防止中间人攻击和DNS欺骗。启用DNSSEC后,你的系统可以验证从权威DNS服务器返回的数据是否可信。
准备工作
在开始之前,请确保:
你使用的是 RockyLinux 8 或 9(本教程以 RockyLinux 9 为例) 系统已连接互联网 你拥有 root 权限或 sudo 权限步骤一:安装并配置 Unbound 作为本地递归解析器
RockyLinux 默认使用 systemd-resolved,但为了更好地支持 DNSSEC,推荐使用
Unbound作为本地 DNS 解析器。
首先,安装 Unbound:
# dnf install unbound -y
步骤二:配置 Unbound 启用 DNSSEC
编辑 Unbound 的主配置文件:
# nano /etc/unbound/unbound.conf
在配置文件中,确保包含以下关键设置(如果不存在,请手动添加):
server: interface: 127.0.0.1 access-control: 127.0.0.1 allow do-daemonize: yes username: "unbound" directory: "/etc/unbound" trust-anchor-file: "root.key" auto-trust-anchor-file: "/var/lib/unbound/root.key" val-permissive-mode: no harden-glue: yes harden-dnssec-stripped: yes use-caps-for-id: yes cache-min-ttl: 3600 cache-max-ttl: 86400 prefetch: yes num-threads: 2remote-control: control-enable: no
说明:
auto-trust-anchor-file:自动管理根区信任锚点,这是 DNSSEC 验证的关键。
val-permissive-mode: no:严格模式,拒绝未通过 DNSSEC 验证的响应。
harden-dnssec-stripped: yes:防止 DNSSEC 信息被中间节点剥离。
步骤三:初始化信任锚点并启动服务
首次运行前,需要初始化根区信任锚:
# unbound-anchor -a "/var/lib/unbound/root.key"
然后启动并启用 Unbound 服务:
# systemctl enable --now unbound
步骤四:配置系统使用本地 Unbound 作为 DNS
修改网络配置,让系统使用 127.0.0.1 作为 DNS 服务器。
如果你使用 NetworkManager(大多数桌面/服务器默认):
# nmcli con mod "System eth0" ipv4.dns "127.0.0.1"# nmcli con up "System eth0"
或者,直接编辑
/etc/resolv.conf(注意:某些系统会自动覆盖此文件):
nameserver 127.0.0.1
步骤五:验证 DNSSEC 是否生效
使用
dig命令测试 DNSSEC 验证:
# dig +dnssec cloudflare.com @127.0.0.1
如果返回结果中包含
ad标志(Authenticated Data),说明 DNSSEC 验证成功:
;; flags: qr rd ra ad; ...
你也可以使用在线工具如 Verisign DNSSEC Debugger 输入你的域名进行验证。
常见问题与注意事项
如果某些网站无法访问,可能是该域名未正确部署 DNSSEC。可临时关闭val-permissive-mode测试。 定期更新系统以获取最新的信任锚点和安全补丁。 确保防火墙允许本地回环(lo)接口通信。
结语
通过以上步骤,你已经成功在 RockyLinux 上启用了 DNSSEC,大大提升了系统的 DNS 安全性。无论是个人用户还是企业服务器,这都是一项值得部署的基础安全措施。希望这篇 RockyLinux DNSSEC配置 教程能帮助你轻松入门 DNS安全扩展 技术,构建更安全的网络环境。
如果你正在关注 RockyLinux网络安全 或寻找详细的 DNSSEC验证教程,欢迎收藏本文并分享给更多需要的朋友!
