Domain-Name-System

將根域解析為 IP,將所有其他子域轉發到公共 DNS

  • October 1, 2021

這是我的區域文件

zone "domain.com"{
       type master;
       file "/etc/bind/db.override";
};

zone "cpanel.domain.com"{  
       type forward;
       forwarders { 8.8.8.8;8.8.4.4; };
       forward only;
}

根域解析到這個文件

;
; BIND data file for overridden IPs
;
$TTL  86400
@   IN  SOA ns1 root (
           2012100401  ; serial
           604800      ; refresh 1w
           86400       ; retry 1d
           2419200     ; expiry 4w
           86400       ; minimum TTL 1d
           )

; need atleast a nameserver
   IN  NS  ns1
; specify nameserver IP address
ns1 IN  A   `My IP`
; provide IP address for domain itself
@   IN  A   `My IP`
;all other subdomains
*   IN  A   `My IP`

主 domain.com 解析得很好,但是當我實際上想由Google的 DNS 確定時,它會將 cpanel.domain.com 解析為與根相同的 IP,這應該是完全不同的東西。

您應該能夠像這樣使用委託來執行此操作:

*    IN  NS    google-public-dns-a.google.com.
*    IN  NS    google-public-dns-b.google.com.

如果您知道要委派的特定記錄,則可以NS僅為這些記錄創建記錄:

cpanel    IN  NS    google-public-dns-a.google.com.
cpanel    IN  NS    google-public-dns-b.google.com.

我將 DNS 名稱用於 google 的公共 DNS 伺服器,因為我認為您不能在NS記錄中使用 IP 地址。

編輯:

我現在看到您有一個僅用於cpanel.domain.com. 您可以刪除它並使用我上面寫的第二個版本,或者您可以保留它,然後在domain.com區域中執行此操作:

cpanel    IN  NS    ns1.domain.com.

我假設這ns1.domain.com是定義這些區域的名稱伺服器。如果不是,請改用正確的名稱。

引用自:https://serverfault.com/questions/619609