왜 host와 nslookup이 이름을 확인할 수 있지만 발굴 할 수 없습니까?


27

왜 이런 일이 일어나고 있는지 말해 줄 수 있습니까? 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

이 동작이 정상입니까? 이견있는 사람?

답변:


36

search-option을 사용하지 않는 것이 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.


나는 이것을 반 직관적 인 것으로 보는 유일한 사람인가? :-) 어쨌든 많이 감사합니다!
musashiXXX

5
@musashiXXX 글쎄요, 그것은 다음에 달려 있습니다 :-) 대부분의 사람들은 digDNS 디버깅에 사용 합니다.이 경우 DNS의 응답을 망칠 수있는 모든 것을 비활성화하는 것이 좋습니다. 좋은 생각이라고 생각합니다. 대부분의 사람들이 사용 host하고 nslookup결국. :-)
Alexander Janssen

7

나는 같은 문제를 겪고 있었다. nslookup과 wireshark를 사용하여 보낸 패킷을 검사 한 후 문제를 발견했습니다.

dig는 쿼리에서 실제 데이터 비트를 설정했습니다. 매뉴얼 페이지에 따르면, "이것은 서버가 모든 응답 및 권한 섹션이 서버의 보안 정책에 따라 모두 안전한지 여부를 반환하도록 요청합니다." + noadflag로 dig를 실행하면 nslookup과 동일한 결과가 반환됩니다.


3
같은 문제가 있었지만 edns확장 으로 인해 다른 결과가 발생했습니다 . +noendsdig 로 쿼리를하면 호스트와 동일한 결과가 반환됩니다.
Slava Bacherikov


1

홈 디렉토리에서 .digrc 파일을 다음 줄과 함께 사용할 수 있습니다

+ 검색

기본 행동을 기회로


0

홈 Wi-Fi 네트워크 google.com에서 Windows 7 호스트에서 실행되는 Ubuntu VM 내에서 좋은 문제를 해결하려고 시도 하면서이 문제가 발생하여 dig시간이 초과되었지만 nslookup즉시 결과를 반환했습니다.

나를 위해이 솔루션은 추가했다 +noedns: $ dig +noedns google.com.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.