ita*_*bby 2 domain-name-system bind dnssec
我正在尝试使用绑定设置一个递归 DNS,该 DNS 也有自己的区域。
现在我想升级它以使用 dnssec 但据我所知,如果我没有域名,我必须使用 DLV。
但是,我能找到的少数指南说您需要注册,而dlv.isc.org这些指南并不存在。我正在阅读的一本关于 DNSSEC 的书说 DLV 将被弃用,所以这就是我想知道的原因。(如果您知道任何设置它的分步指南也将不胜感激)
当dlv.isc.org服务器不再运行时,您仍然可以通过dnssec-lookaside选项在 Bind 9 配置中设置另一个 DNSSEC 后备服务器。如果example.com无法验证的密钥,则后备服务器的名称将附加到它,并且验证将针对后备服务器的受信任密钥重新开始。我没有测试,但我相信这不会解决您的问题:lan.如今可以肯定地验证私有域不存在,因此不会执行后备查询。
那么可以做些什么来保护一个lan.区域呢?这取决于用途:
lan.区域权威服务器的 DNS 服务器不需要任何其他配置(我假设dnssec-validation已经打开):
lan.从区域文件区,并返回一个答案没有的AD标志,AD标志。如果域不验证SERVFAIL将发出。lan.毫无问题地解决。但是,由于存根解析器和服务器之间的通信未加密,因此可以在传输过程中修改结果。您可以使用 TSIG 签名或 TLS 来保护它。我怀疑您是否想在每台客户端机器上设置一个 Bind9 服务器来充当验证存根解析器(有更好的替代方案,如systemd-resolved、dnsmasq或unbound),但如果是这种情况,您需要先检索密钥对于您的lan.区域:
piotr@akela:~$ dig lan. DNSKEY +short
257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
Run Code Online (Sandbox Code Playgroud)
然后,您需要将密钥添加为受信任的,允许仅来自localhost“真实”DNS 服务器的递归查询并将请求转发到“真实”DNS 服务器(假设其 on 192.168.0.1):
options {
directory "/var/cache/bind";
listen-on { localhost; };
listen-on-v6 { localhost; };
recursion yes;
allow-query { localhost; };
forwarders { 192.168.0.1; };
};
trusted-keys {
lan. 257 3 13 "nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==";
};
Run Code Online (Sandbox Code Playgroud)
最后,您只需要添加localhost为唯一的 DNS 服务器/etc/resolv.conf:
nameserver ::1;
Run Code Online (Sandbox Code Playgroud)
编辑:systemd-resolved配置更简单:只需将您的 DNSKEY 添加到名为的文件中/etc/dnssec-trust-anchors.d/<your_name>.positive:
lan. IN DNSKEY 257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
Run Code Online (Sandbox Code Playgroud)
并强制 DNSSEC 进入/etc/systemd/resolved.conf:
DNSSEC=yes
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |