在 Debian 9 上設定 DNS 伺服器

在 Debian 9 上設定 DNS 伺服器

我需要一些幫助在 Debian 9 (Stretch) 中設定 DNS 伺服器。我正在跟進本教程,但我認為我做錯了什麼......

就我而言,我們假設我擁有一個名為 example.com 的網域,並且我的伺服器的 IP 為:203.0.113.141

首先,我在named.conf.local文件中建立了區域。現在,這個文件看起來像這樣:

zone "example.com" IN {                    // Domain name
     type master;                          // Primary DNS
     file "/etc/bind/fwd.example.com.db"; // Forward lookup file
     allow-update { none; };               // Since this is the primary DNS, it
};                                         // should be none.

zone "141.ip-203-0-113.net" IN { // Reverse lookup name, it was given from my server provider
     type master; // Primary DNS
     file "/etc/bind/rev.example.com.db"; //Reverse lookup file
     allow-update { none; }; //Since this is the primary DNS, it should be none.
};

之後,我創建了兩個包含以下內容的文件:

fwd.example.com.db

$TTL    604800
@       IN      SOA     example.com. root.example.com. (
                             21         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;

;Name Server Information
       IN      NS      dns.example.com.
;IP address of Name Server
dns     IN      A       203.0.113.141

rev.example.com.db

$TTL    604800
@       IN      SOA     example.com. root.example.com. (
                             21         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      IN      NS      localhost.
;1.0.0  IN      PTR     localhost.

;Name Server Information
       IN      NS     dns.example.com.
;Reverse lookup for Name Server
141      IN      PTR    dns

配置這些文件後運行named-checkconf命令named-checkzone會給我一個正確的輸出,沒有錯誤。

我也重新啟動了bind9服務。但是當我嘗試使用命令驗證 dns 時dig,答案並不符合預期。

此命令dig example.com輸出:

; <<>> DiG 9.10.3-P4-Debian <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53052
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.                   IN      A

;; AUTHORITY SECTION:
example.com.            604800  IN      SOA     example.com. root.example.com. 21 604800 86400 2419200 604800

;; Query time: 0 msec
;; SERVER: 203.0.113.141#53(203.0.113.141)
;; WHEN: Sat Sep 01 09:05:29 EDT 2018
;; MSG SIZE  rcvd: 81

根據我遵循的教程,我期待這樣的行:

;; ANSWER SECTION:
www.example.com.      604800  IN      A       203.0.113.141

但它不存在於該輸出中。

另外,當我使用 檢查反向查找時dig -x 203.0.113.141,輸出沒有顯示與我的網域 example.com 相關的任何內容:

; <<>> DiG 9.10.3-P4-Debian <<>> -x 203.0.113.141
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42358
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;141.113.0.203.in-addr.arpa.     IN      PTR

;; ANSWER SECTION:
141.113.0.203.in-addr.arpa. 86400 IN     PTR     141.ip-203-0-113.net.

;; AUTHORITY SECTION:
0.203.in-addr.arpa.     66624   IN      NS      ns10.ovh.ca.
0.203.in-addr.arpa.     66624   IN      NS      dns10.ovh.ca.

;; Query time: 893 msec
;; SERVER: 54.39.21.141#53(54.39.21.141)
;; WHEN: Sat Sep 01 09:12:51 EDT 2018
;; MSG SIZE  rcvd: 132

同樣,根據教程,我期待一個不同的答案部分,其中包含我的網域。

那麼,您認為這可能是這些文件中的任何一個配置錯誤造成的嗎?

答案1

好的,所以這裡有兩個問題。

問題 1:為什麼我看不到「www.example.com」的 A 記錄?

原因有兩個。首先你沒有要求'www.example.com'的A記錄;其次,你沒有定義這樣的A記錄。在您的前向區域文件中,您應該添加以下行,

www            IN A   203.0.113.141

然後用 查詢這條記錄dig www.example.com

我假設您還希望“example.com”和“www.example.com”都指向同一個 Web 伺服器,在這種情況下,您還需要為頂點(網域)本身添加 A 記錄。為此,您應該添加這一行:

example.com.   IN A   203.0.113.141

您已經擁有此頂點的 NS 和 SOA 記錄,但如果您還想瀏覽到它,則需要 A 記錄。

問題 2:為什麼我看不到 PTR 記錄所需的輸出?

我需要編輯這個答案。

編輯:我正在考慮“CNAME 駭客”,其中您的 ISP 建立一個指向子網域的 CNAME,並讓您控制該子網域。但由於 ISP 提供了 PTR 記錄,我會先聯繫他們並詢問他們希望您如何為該 IP 位址設定 PTR 記錄的詳細資訊(如果您被允許這樣做)。

相關內容