Google DNS 서버가 스스로 신뢰할 수 있는 답변을 반환하지 않는 이유 [닫기]

Google DNS 서버가 스스로 신뢰할 수 있는 답변을 반환하지 않는 이유 [닫기]

Google DNS 서버가 자체 도메인에 대해 신뢰할 수 있는 답변을 반환하지 않는 이유는 무엇입니까?

Redhat Linux 5.1에서 nslookupBind digDNS v4.9.7을 사용하고 있습니다.

시험

/etc/resolv.conf:

nameserver 0
search home

/etc/named.boot:

...
options         forward-only query-log
forwarders      192.168.1.1 203.12.160.35 203.12.160.36 203.12.160.37
...

"dns.google.com"의 IP 주소를 쿼리합니다(내 DNS 서버 사용).

[root@r51 ~]$ date && nslookup dns.google.com
Sat Jan 13 22:34:31 EST 2024
Server:  r51
Address:  0.0.0.0

Non-authoritative answer:
Name:    dns.google.com
Addresses:  8.8.4.4, 8.8.8.8

[root@r51 ~]$
[root@r51 ~]$ date && dig dns.google.com
Sat Jan 13 22:36:15 EST 2024

; <<>> DiG 2.2 <<>> dns.google.com
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
;; flags: qr rd ra; Ques: 1, Ans: 2, Auth: 0, Addit: 0
;; QUESTIONS:
;;      dns.google.com, type = A, class = IN

;; ANSWERS:
dns.google.com. 210     A       8.8.8.8
dns.google.com. 210     A       8.8.4.4

;; Total query time: 15 msec
;; FROM: r51 to SERVER: default -- 0.0.0.0
;; WHEN: Sat Jan 13 22:36:15 2024
;; MSG SIZE  sent: 32  rcvd: 64

[root@r51 ~]$

"dns.google.com"의 IP 주소를 쿼리합니다("dns.google.com" 사용).

[root@r51 ~]$ date && nslookup dns.google.com 8.8.8.8
Sat Jan 13 22:36:20 EST 2024
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    dns.google.com
Addresses:  8.8.4.4, 8.8.8.8

[root@r51 ~]$
[root@r51 ~]$ date && dig @8.8.8.8 dns.google.com
Sat Jan 13 22:36:42 EST 2024

; <<>> DiG 2.2 <<>> @8.8.8.8 dns.google.com
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr rd ra; Ques: 1, Ans: 2, Auth: 0, Addit: 0
;; QUESTIONS:
;;      dns.google.com, type = A, class = IN

;; ANSWERS:
dns.google.com. 900     A       8.8.8.8
dns.google.com. 900     A       8.8.4.4

;; Total query time: 12 msec
;; FROM: r51 to SERVER: 8.8.8.8
;; WHEN: Sat Jan 13 22:36:42 2024
;; MSG SIZE  sent: 32  rcvd: 64

[root@r51 ttya3 22:36:42 /]$

결과

예상되는 내용(예: 8.8.8.8에 대한 쿼리):

Auth: 1

실제:

Non-authoritative answer

Auth: 0

답변1

@muru의 의견 덕분에 작동하지 않는 이유는 8.8.8.8 및 8.8.4.4(dns.google.com)가 신뢰할 수 있는 네임서버가 아니기 때문입니다.

도메인의 권한 있는 네임서버는 도메인의 SOA 레코드를 쿼리한 다음 후속 DNS 쿼리에서 원래 네임서버(레코드에 지정됨)를 참조 서버로 사용하여 얻을 수 있습니다.

nslookup -type=soa dns.google.com

dig soa dns.google.com

SOA 쿼리 출력 예:

[root@r51 ~]$ nslookup -type=soa dns.google.com
Server:  r51
Address:  0.0.0.0

Authoritative answers can be found from:
google.com
        origin = ns1.google.com
        mail addr = dns-admin.google.com
        serial = 598133582
        refresh = 900 (15 mins)
        retry   = 900 (15 mins)
        expire  = 1800 (30 mins)
        minimum ttl = 60 (1 min)
[root@r51 ~]$
[root@r51 ~]$ dig soa dns.google.com

; <<>> DiG 2.2 <<>> soa dns.google.com
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
;; flags: qr rd ra; Ques: 1, Ans: 0, Auth: 1, Addit: 0
;; QUESTIONS:
;;      dns.google.com, type = SOA, class = IN

;; AUTHORITY RECORDS:
google.com.     60      SOA     ns1.google.com. dns-admin.google.com. (
                        597792727       ; serial
                        900     ; refresh (15 mins)
                        900     ; retry (15 mins)
                        1800    ; expire (30 mins)
                        60 )    ; minimum (1 min)

;; Total query time: 108 msec
;; FROM: r51 to SERVER: default -- 0.0.0.0
;; WHEN: Sun Dec 31 10:08:09 2023
;; MSG SIZE  sent: 32  rcvd: 82

[root@r51 ~]$

위의 SOA 쿼리는 권한 있는 서버가 "ns1.google.com"에서 찾을 수 있음을 보여줍니다.

"dns.google.com"의 IP 주소를 쿼리합니다(권한 있는 이름 서버 사용).

[root@r51 ~]$ nslookup dns.google.com ns1.google.com
Server:  ns1.google.com
Address:  216.239.32.10

Name:    dns.google.com
Addresses:  8.8.4.4, 8.8.8.8

[root@r51 ~]$
[root@r51 ~]$ dig @ns1.google.com dns.google.com

; <<>> DiG 2.2 <<>> @ns1.google.com dns.google.com
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr aa rd; Ques: 1, Ans: 2, Auth: 0, Addit: 0
;; QUESTIONS:
;;      dns.google.com, type = A, class = IN

;; ANSWERS:
dns.google.com. 900     A       8.8.4.4
dns.google.com. 900     A       8.8.8.8

;; Total query time: 113 msec
;; FROM: r51 to SERVER: ns1.google.com  216.239.32.10
;; WHEN: Sat Jan 13 23:54:03 2024
;; MSG SIZE  sent: 32  rcvd: 64

[root@r51 ~]$

위에 표시된 대로 더 이상 응답에 nslookup표시되지 않습니다 .Non-authoritative answer

dig출력 의 경우 Auth값(이 경우 Auth: 0)은 권한을 나타냅니다.부분정보는 인쇄되지 않습니다(이름 서버가 정보를 제공하지 않을 수 있음). 그러나 권한 플래그/비트는 실제로 설정됩니다(예 aa: flags: qr aa rd).

관련 정보