
我正在嘗試使用綁定設定一個遞歸 DNS,它也有自己的區域。
現在我想升級它以使用 dnssec,但據我所知,如果我沒有域名,我必須使用 DLV。
然而,我能找到的少數指南說您需要註冊,但dlv.isc.org
指南並不存在。我正在閱讀的一本關於 DNSSEC 的書告訴我 DLV 將被棄用,所以這就是我想知道的原因。 (如果您知道任何設定的分步指南,我們也將不勝感激)
答案1
當dlv.isc.org
伺服器不再運作時,您仍然可以透過以下命令在 Bind 9 設定中設定另一個 DNSSEC Lookaside 伺服器dnssec-後備選項。如果無法驗證金鑰example.com
,則後備伺服器的名稱將附加到其上,並且驗證將針對後備伺服器的可信任金鑰重新開始。我沒有測試,但我相信這不會解決您的問題:lan.
現在可以肯定地驗證私有網域不存在,因此不會執行後備查詢。
那麼可以採取什麼措施來保護lan.
區域呢?這取決於用途:
- DNS 伺服器,您想同時使用驗證遞歸解析器並且該區域的權威伺服器
lan.
不需要任何額外的配置(我假設它dnssec-validation
已經打開):- 它將
lan.
從區域文件中為區域提供服務並返回答案沒有旗幟AD
, - 當對其他網域的查詢進來時,它將執行遞歸查詢,驗證結果,並且僅當它們有效時才返回答案和旗幟
AD
。如果網域未通過驗證,SERVFAIL
將會發出一個。
- 它將
- 這存根解析器,它使用您的 DNS 伺服器,依賴您的 DNS 伺服器的驗證行為,因此它們將
lan.
順利解決。然而,由於雙方之間的溝通存根解析器且伺服器未加密,結果可以在傳輸過程中修改。您可以使用 TSIG 簽章或 TLS 來保護它。 - 這驗證存根解析器要求你添加值得信賴的錨他們的配置。
我懷疑你想在每個伺服器上設定一個 Bind9 伺服器客戶機器充當驗證存根解析器(有更好的選擇,例如systemd 解析,網域解析或者不受約束的),但如果是這種情況,您需要先檢索您的lan.
區域的密鑰:
piotr@akela:~$ dig lan. DNSKEY +short
257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
然後,您需要將金鑰新增為受信任的,允許僅從「真實」DNS 伺服器進行遞歸查詢localhost
並將請求轉發到「真實」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==";
};
最後您只需新增localhost
為唯一的 DNS 伺服器/etc/resolv.conf
:
nameserver ::1;
編輯:systemd 解析配置甚至更簡單:只需將您的 DNSKEY 新增到名為的檔案中/etc/dnssec-trust-anchors.d/<your_name>.positive
:
lan. IN DNSKEY 257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
並強制使用 DNSSEC /etc/systemd/resolved.conf
:
DNSSEC=yes