mus*_*XXX 36 domain-name-system host dig nslookup
谁能告诉我为什么会这样?我可以使用 host 和/或 nslookup 解析主机名,但正向查找不适用于 dig;反向查找做:
musashixxx@box:~$ host someserver
someserver.somenet.internal has address 192.168.0.252
musashixxx@box:~$ host 192.168.0.252
252.0.168.192.in-addr.arpa domain name pointer someserver.somenet.internal.
musashixxx@box:~$ nslookup someserver
Server: 192.168.0.253
Address: 192.168.0.253#53
Name: someserver.somenet.internal
Address: 192.168.0.252
musashixxx@box:~$ nslookup 192.168.0.252
Server: 192.168.0.253
Address: 192.168.0.253#53
252.0.168.192.in-addr.arpa name = someserver.somenet.internal.
musashixxx@box:~$ dig someserver
; <<>> DiG 9.8.1-P1 <<>> someserver
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55306
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;someserver. IN A
;; Query time: 0 msec
;; SERVER: 192.168.0.253#53(192.168.0.253)
;; WHEN: Wed Oct 3 15:47:38 2012
;; MSG SIZE rcvd: 27
musashixxx@box:~$ dig -x 192.168.0.252
; <<>> DiG 9.8.1-P1 <<>> -x 192.168.0.252
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28126
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;252.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
252.0.168.192.in-addr.arpa. 3600 IN PTR someserver.somenet.internal.
;; Query time: 0 msec
;; SERVER: 192.168.0.253#53(192.168.0.253)
;; WHEN: Wed Oct 3 15:49:11 2012
;; MSG SIZE rcvd: 86
Run Code Online (Sandbox Code Playgroud)
这是我的 resolv.conf 的样子:
nameserver 192.168.0.253
search somenet.internal
Run Code Online (Sandbox Code Playgroud)
这种行为正常吗?有什么想法吗?
Ale*_*sen 48
dig 的默认行为是不使用搜索选项。
从手册页:
Run Code Online (Sandbox Code Playgroud)+[no]search Use [do not use] the search list defined by the searchlist or domain directive in resolv.conf (if any). The search list is not used by default.
编辑:只需添加+search
即可使其工作,例如dig +search myhost
.
Tah*_*gir 10
就我而言,它是 Microsoft DNS 服务器中的一个错误,它为设置FORMERR
了EDNS Cookie
选项的请求返回响应(请求格式错误)。较新版本dig
(9.11 及更高版本)默认使用 dns-cookies。这可以通过+nocookie
或+noedns
标记来防止:
$ dig +nocookie DOMAIN @SERVER
Run Code Online (Sandbox Code Playgroud)
来源:https : //kevinlocke.name/bits/2017/01/20/formerr-from-microsoft-dns-server-for-dig/
小智 7
我遇到了同样的问题。在使用wireshark检查从nslookup和dig发送的数据包后,我发现了问题。
dig 正在设置查询中的真实数据位。根据手册页,“这要求服务器返回是否所有的答案和权限部分都根据服务器的安全策略都被验证为安全的。” 通过使用 +noadflag 运行 dig,它返回与 nslookup 相同的结果。
归档时间: |
|
查看次数: |
25070 次 |
最近记录: |