재귀 DNS 서버가 CNAME으로 응답하지만 A 레코드를 반환하지 않습니다.

재귀 DNS 서버가 CNAME으로 응답하지만 A 레코드를 반환하지 않습니다.

해결을 위해 기본 DNS 서버로 전달하는 재귀 DNS 서버가 있습니다.

예를 들어보세요

아래 CNAME이 있습니다.

server1.example1.com.    300     IN      CNAME   server1.example2.com

그리고 관련 A:

server1.example2.com     IN     A    X.X.X.X

내가 직면하고 있는 문제는 내가 수행할 때 재귀 서버가 CNAME 레코드만 반환하고 digA 레코드에 대해 응답하지 않는다는 것입니다. 나는 TCP 덤프를 통해 기본이 확실히 CNAME & A 레코드를 재귀로 반환하지만 dig명령이나 해당 서버를 가리키는 클라이언트 로 반환하지 않는다는 것을 확인했습니다 . 다른 재귀 이름 서버가 있는데 잘 작동합니다. 그러나 이는 도메인 간 CNAMES에서만 발생하는 것 같습니다.

    bash-4.1# dig @recurisveserver server1.example1.com.                                      

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 <<>> @recurisveserver server1.example1.com.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49412
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;server1.example1.com.           IN      A

;; ANSWER SECTION:
server1.example1.com.    300     IN      CNAME   server1.example2.com.

;; Query time: 0 msec
;; SERVER: 10.73.241.88#53(10.73.241.88)
;; WHEN: Mon Mar  5 15:52:31 2018
;; MSG SIZE  rcvd: 76

Nslookup이 빈 응답을 제공합니다.

    > server1.example1.com
Server:  recursiveserver
Address:  x.x.x.x

Name:    server1.example1.com

답변1

제가 보기에는 이 모든 것이 정확해 보입니다. CNAME은 다른 도메인 이름을 가리키지만, 반환된 CNAME을 A 레코드로 변환하기 위해 두 번째 조회를 수행하는 것은 클라이언트의 몫입니다. 따라서 dig 또는 nslookup이 IP 주소를 반환할 것으로 예상할 수는 없습니다.

관련 정보