なぜこれが起こっているのか誰かに教えてもらえますか? 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
これは私のresolv.confがどのように見えるかです:
nameserver 192.168.0.253
search somenet.internal
この動作は正常ですか?何かご意見は?
これは、検索オプションを使用しないDigのデフォルトの動作です。
マニュアルページから:
+[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
を追加するだけです。
私の場合、それはMicrosoft DNSサーバーのバグであり、EDNS Cookie
オプションが設定された要求に対してFORMERR
応答(要求形式エラー)を返します。 Dig
の新しいバージョン(9.11以降)では、デフォルトでdns-cookiesを使用します。これは、Digへの+nocookie
または+noedns
フラグによって防止できます。
$ Dig +nocookie DOMAIN @SERVER
ソース: https://kevinlocke.name/bits/2017/01/20/formerr-from-Microsoft-dns-server-for-Dig/
私も同じ問題を抱えていました。 nslookupとDigの両方から送信されたパケットをWiresharkで検査したところ、問題が見つかりました。
Digはクエリで本物のデータビットを設定していました。マンページによると、「これにより、サーバーのセキュリティポリシーに従ってすべての回答セクションと権限セクションがすべて安全であると検証されているかどうかをサーバーに返すように要求されます。」 + noadflagを指定してDigを実行すると、nslookupと同じ結果が返されました。
次の行を使用して、ホームディレクトリの.digrcファイルを使用できます。
+検索
デフォルトの動作を偶然に
私はホームwi-fiネットワークでこの問題を経験しました。Windows7ホストで実行されているUbuntu VM内からDig
を使用して、適切なgoogle.com
を解決しようとしました。 out、しかしnslookup
は即座に結果を返しました。
私にとっての解決策は、+noedns
:$ Dig +noedns google.com
を追加することでした。