Ubuntu

綁定 - 本地域優先於根

  • May 1, 2018

在 Ubuntu Server 16.04 上,我將 Bind 作為 DNS 伺服器執行。總的來說,它運作得相當好。我遇到的問題是,當我只指定網路上的系統名稱時,它會嘗試訪問根區域(我假設),而不是先在本地查找。

#/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.1.0.1
search priv

我有一個名為“zm”的資源。當我提到它時,會發生以下情況:

這很好:

# dig zm.priv

; <<>> DiG 9.10.3-P4-Ubuntu <<>> zm.priv
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29032
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
zm.priv.        604800  IN  A   10.18.0.31

;; AUTHORITY SECTION:
priv.           604800  IN  NS  server.priv.

;; ADDITIONAL SECTION:
server.priv.        604800  IN  A   10.1.0.1

;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Tue May 01 18:08:17 EDT 2018
;; MSG SIZE  rcvd: 89

這是不好的:

# dig zm

; <<>> DiG 9.10.3-P4-Ubuntu <<>> zm
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30620
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

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

;; AUTHORITY SECTION:
zm.         1157    IN  SOA ns1.zamnet.zm. hostmaster.nic.zm. 2018043020 21600 3600 604800 3600

;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Tue May 01 18:09:32 EDT 2018
;; MSG SIZE  rcvd: 93

如果我只輸入一個資源的名稱而沒有它,如何讓 Bind 假定我的本地域(“priv”)?我不確定我的措辭是否正確。但是,如果我鍵入一個“單詞”作為網路資源,即使它被稱為“com”或“zm”,我希望本地地址像上面的 GOOD 範例中那樣出現,而不是來自 ns1.zamnet .zm。

問候和感謝。

這不是bind/named問題。這就是dig行為方式。您要麼想使用nslookup要麼dig +search。考慮應用於alias dig="dig +search"您的外殼。

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