绑定 - 本地域优先于根域

绑定 - 本地域优先于根域

在 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

如果我只是输入资源名称而不输入本地域(“priv”),如何让 Bind 假定我的本地域?我不确定我的表述是否正确。但是,如果我输入一个“单词”作为网络资源,即使它被称为“com”或“zm”,我希望本地地址像上面的好示例中那样出现,而不是来自 ns1.zamnet.zm 的某个地址。

谨此致以问候和感谢。

答案1

那不是bind/named问题。那只是dig行为方式。您要么想使用nslookup,要么想dig +search使用 。考虑应用alias dig="dig +search"到您的 shell 中。

相关内容