che*_*vim 6 domain-name-system
我已经为主机(admin.example-preprod.foobar.it
使用 IP 100.100.100.100
)配置了 DNS 设置,但它并没有从我尝试的每台服务器上进行解析(对某些服务器来说是这样)。
例如,我的服务器使用以下 3 个 DNS 服务器:
foobar@server:~$ cat /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 200.200.200.1
nameserver 200.200.200.2
nameserver 200.200.200.3
Run Code Online (Sandbox Code Playgroud)
dig
对他们所有人都有效。
第一的:
foobar@server:~$ dig admin.example-preprod.foobar.it @200.200.200.1
; <<>> DiG 9.9.5-3ubuntu0.7-Ubuntu <<>> admin.example-preprod.foobar.it @200.200.200.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6540
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;admin.example-preprod.foobar.it. IN A
;; ANSWER SECTION:
admin.example-preprod.foobar.it. 86400 IN A 100.100.100.100
;; AUTHORITY SECTION:
foobar.it. 86400 IN NS qwert.foobar.it.
foobar.it. 86400 IN NS ns0.xname.org.
foobar.it. 86400 IN NS ns1.xname.org.
;; ADDITIONAL SECTION:
qwert.foobar.it. 86400 IN A 200.200.200.1
;; Query time: 46 msec
;; SERVER: 200.200.200.1#53(200.200.200.1)
;; WHEN: Fri Nov 04 10:35:46 EET 2016
;; MSG SIZE rcvd: 156
Run Code Online (Sandbox Code Playgroud)
第二:
foobar@server:~$ dig admin.example-preprod.foobar.it @200.200.200.2
; <<>> DiG 9.9.5-3ubuntu0.7-Ubuntu <<>> admin.example-preprod.foobar.it @200.200.200.2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 40127
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;admin.example-preprod.foobar.it. IN A
;; AUTHORITY SECTION:
foobar.it. 85817 IN SOA qwert.foobar.it. webmaster.foobar.it. 2016092901 10800 900 1814400 10800
;; Query time: 3 msec
;; SERVER: 200.200.200.2#53(200.200.200.2)
;; WHEN: Fri Nov 04 10:36:05 EET 2016
;; MSG SIZE rcvd: 111
Run Code Online (Sandbox Code Playgroud)
第三:
foobar@server:~$ dig admin.example-preprod.foobar.it @200.200.200.3
; <<>> DiG 9.9.5-3ubuntu0.7-Ubuntu <<>> admin.example-preprod.foobar.it @200.200.200.3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2392
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;admin.example-preprod.foobar.it. IN A
;; ANSWER SECTION:
admin.example-preprod.foobar.it. 86400 IN A 100.100.100.100
;; AUTHORITY SECTION:
foobar.it. 86400 IN NS qwert.foobar.it.
foobar.it. 86400 IN NS ns1.xname.org.
foobar.it. 86400 IN NS ns0.xname.org.
;; ADDITIONAL SECTION:
qwert.foobar.it. 81845 IN A 200.200.200.1
;; Query time: 2309 msec
;; SERVER: 200.200.200.3#53(200.200.200.3)
;; WHEN: Fri Nov 04 10:35:56 EET 2016
;; MSG SIZE rcvd: 156
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试 ping 时,它给了我unknown host
:
foobar@server:~$ ping admin.example-preprod.foobar.it
ping: unknown host admin.example-preprod.foobar.it
Run Code Online (Sandbox Code Playgroud)
这怎么可能?我应该从哪里着手解决这个问题?
dig 不适用于所有这些 - 您的第二个名称服务器(200.200.200.2
在您的示例中)无法解析记录。
默认情况下,Linux 解析器在 resolv.conf 中的条目之间随机化,我猜您的 ping 已经命中了失败的解析器。