第 2 章 设置 unbound DNS 服务器
unbound
DNS 服务器是一个验证、递归并进行缓存的 DNS 解析器。此外,unbound
侧重于安全性,例如,它会默认启用域名系统安全扩展 (DNSSEC)。
2.1. 将 Unbound 配置为缓存 DNS 服务器 复制链接链接已复制到粘贴板!
默认情况下,unbound
DNS 服务解析并缓存成功和失败的查找。随后,服务会从其缓存中应答相同记录的请求。
流程
安装
unbound
软件包:dnf install unbound
# dnf install unbound
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/unbound/unbound.conf
文件,并在server
子句中进行以下更改:添加
interface
参数来配置unbound
服务侦听查询的 IP 地址,例如:interface: 127.0.0.1 interface: 192.0.2.1 interface: 2001:db8:1::1
interface: 127.0.0.1 interface: 192.0.2.1 interface: 2001:db8:1::1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用这些设置时,
unbound
仅侦听指定的 IPv4 和 IPv6 地址。将接口限制到特定接口,可防止客户端从未经授权的网络(如互联网)向这个 DNS 服务器发送查询。
添加
access-control
参数,以配置客户端可以从哪些子网查询 DNS 服务,例如:access-control: 127.0.0.0/8 allow access-control: 192.0.2.0/24 allow access-control: 2001:db8:1::/64 allow
access-control: 127.0.0.0/8 allow access-control: 192.0.2.0/24 allow access-control: 2001:db8:1::/64 allow
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建用于远程管理
unbound
服务的私钥和证书:systemctl restart unbound-keygen
# systemctl restart unbound-keygen
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您跳过这一步,在下一步中验证配置将会报告缺少的文件。如果文件丢失,
unbound
服务自动创建这些文件。验证配置文件:
unbound-checkconf
# unbound-checkconf unbound-checkconf: no errors in /etc/unbound/unbound.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 firewalld 规则,以允许传入的 DNS 流量:
firewall-cmd --permanent --add-service=dns firewall-cmd --reload
# firewall-cmd --permanent --add-service=dns # firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用并启动
unbound
服务:systemctl enable --now unbound
# systemctl enable --now unbound
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
查询在
localhost
接口上侦听的unbound
DNS 服务器以解析域:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在第一次查询记录后,
unbound
会将条目添加到其缓存中。重复前面的查询:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 由于对条目进行了缓存,进一步对相同记录的请求会非常快,直到条目过期为止。