無法使用包羅萬象的設定對綁定進行 NS 查詢

無法使用包羅萬象的設定對綁定進行 NS 查詢

我已將綁定配置為捕獲所有域並為它們返回相同的 IP(A 記錄)。這是針對可能涉及數千個網域的網域停車服務。

將 example.com 的名稱伺服器指向我的名稱伺服器後,我正確地顯示了停放的託管頁面。

唯一的問題是名稱伺服器查找不起作用。如果我dig NS example.com只是取回 SOA 詳細信息,而不是 NS 名稱。雖然dig example.com確實回傳了正確的A記錄。

我花了幾個小時嘗試各種事情,非常感謝對此的幫助。

它的配置:

named.conf.local

zone "." {
    type master;
    file "/etc/bind/zones/db.catchall";
};

db.catchall

$TTL    604800
@   IN  SOA ns1.mynameserver.com. hostmaster.mynameserver.com. (
             26     ; Serial
         604800     ; Refresh
          86400     ; Retry
        2419200     ; Expire
         604800 )   ; Negative Cache TTL

    IN  NS  ip.addr.for.ns1
    IN  NS  ip.addr.for.ns2 

*   IN  A   ip.addr.for.hosting

答案1

觀察到的行為是預期的並且對於您所配置的內容是正確的。
即,您有一個名稱伺服器,該名稱伺服器聲稱對根區域具有權威性,並且具有與A以下任何內容相符的通配符記錄。NS除了根區域之外,它沒有記錄。

但是,對於應該對許多不同區域具有權威性的伺服器來說,您所配置的內容實際上並不正確。如果example.com委託給您的名稱伺服器,則您的名稱伺服器應該具有此特定區域(至少具有SOANS區域的頂點),而不僅僅是某些父區域(例如.)。
此配置的錯誤包括對 查詢的回應NS(即,它將聲稱沒有 的名稱伺服器example.com)以及所有否定回應(否定回應將SOA針對錯誤的區域)。

如果您想以盡可能正確的行為來執行此操作,但不指定所有區域(這對於正確性來說是最好的),我認為您會想要研究一些高度可編寫腳本的名稱伺服器軟體,它可以回答,就好像它具有匹配某種模式的相關區域(也許基於公共後綴列表?)。

相關內容