도메인에 두 개의 A 유형 레코드가있는 이유는 무엇입니까?


3

DNS를 쿼리 할 때 도메인에 두 가지 유형 A 레코드가있는 것을 알 수 있습니다. 두 레코드의 이름은 같지만 다른 IP 주소로 응답합니다. 이름 / 유형 조합이 동일한 두 개의 레코드가있는 이유는 무엇입니까?

답변:


3

DNS는 동일한 유형의 여러 항목을 허용합니다. 이를 위해 여러 서버에서 사이트를 호스팅 할 수 있으므로 모든 것이 다운 될 가능성이 줄어 듭니다.

예를 들어 superuser.com에 대한 A 레코드를 요청할 수 있습니다. 결과는 다음과 같습니다.

cas@PC0075:/home/cas$ dig superuser.com A

; <<>> DiG 9.9.5-3ubuntu0.10-Ubuntu <<>> superuser.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26473
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;superuser.com.                 IN      A

;; ANSWER SECTION:
superuser.com.          299     IN      A       151.101.193.69
superuser.com.          299     IN      A       151.101.129.69
superuser.com.          299     IN      A       151.101.1.69
superuser.com.          299     IN      A       151.101.65.69

;; Query time: 69 msec
;; SERVER: 172.17.1.1#53(172.17.1.1)
;; WHEN: Tue Dec 06 10:01:18 STD 2016
;; MSG SIZE  rcvd: 106

이 경우 superuser.com을 탐색하려고하면 컴퓨터가 실제로 151.101.193.69, 151.101.129.69, 151.101.1.69 또는 151.101.65.69에 연결됩니다. 어떤 것을 골라야할지 모르겠지만 무작위 인 것 같습니다.

동일한 유형을 사용하는 여러 레코드가있는 또 다른 경우는 MX 레코드입니다. 이러한 레코드는 전자 메일을 보낼 위치를 정의하며 첫 번째 시도가 실패한 경우 여러 레코드를 사용하면 대체 서버를 사용할 수 있습니다.

cas@PC0075:/home/cas$ dig cloudflare.com MX

; <<>> DiG 9.9.5-3ubuntu0.10-Ubuntu <<>> cloudflare.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35678
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 11

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;cloudflare.com.                        IN      MX

;; ANSWER SECTION:
cloudflare.com.         85863   IN      MX      20 alt1.aspmx.l.google.com.
cloudflare.com.         85863   IN      MX      30 alt2.aspmx.l.google.com.
cloudflare.com.         85863   IN      MX      40 aspmx2.googlemail.com.
cloudflare.com.         85863   IN      MX      50 aspmx3.googlemail.com.
cloudflare.com.         85863   IN      MX      10 aspmx.l.google.com.

;; ADDITIONAL SECTION:
alt1.aspmx.l.google.com. 292    IN      A       74.125.68.27
alt1.aspmx.l.google.com. 292    IN      AAAA    2404:6800:4003:c02::1a
alt2.aspmx.l.google.com. 292    IN      A       108.177.97.27
alt2.aspmx.l.google.com. 292    IN      AAAA    2404:6800:4008:c00::1b
aspmx2.googlemail.com.  292     IN      A       74.125.68.27
aspmx2.googlemail.com.  292     IN      AAAA    2404:6800:4003:c02::1a
aspmx3.googlemail.com.  292     IN      A       108.177.97.27
aspmx3.googlemail.com.  292     IN      AAAA    2404:6800:4008:c00::1b
aspmx.l.google.com.     292     IN      A       173.194.79.27
aspmx.l.google.com.     292     IN      AAAA    2a00:1450:4013:c02::1b

;; Query time: 174 msec
;; SERVER: 172.17.1.1#53(172.17.1.1)
;; WHEN: Tue Dec 06 10:03:31 STD 2016
;; MSG SIZE  rcvd: 393

보시다시피 Cloudflare는 이메일에 G 제품군을 사용하며 5 개의 서로 다른 MX 레코드를 정의했습니다. 내 메일 클라이언트는 aspmx.l.google.com.우선 순위 10 부터 시작하여 로 끝나는 오름차순으로이 레코드를 통과합니다 aspmx3.googlemail.com.. 이 MX 레코드는 다른 도메인을 가리 키므로 내 dig명령도 해당 도메인 을 찾아 보았습니다. 이러한 메일 서버 중 일부는 실제로 동일한 IP 주소를 공유한다는 것을 알 수 있습니다. 그러면 메일을 시도하고 전달하기 위해 연결할 수있는 3 개의 다른 IP 주소가 남아 있습니다. 나는 구글이 라우팅 마술을하고 실제로 다른 서버라고 생각하지만 솔직히 모른다.

도메인의 DNS 레코드를 수정하지 않고 컴퓨터가 항상 특정 IP 주소에 연결되도록하려면 항상 호스트 파일을 수정하면됩니다.

TL; DR : 동일한 유형의 DNS 레코드 두 개를 갖는 것은 일반적으로 좋은 일입니다. 이는 실패 할 경우 사용 가능한 추가 리소스가 있음을 의미하기 때문입니다. 어떤 컴퓨터에 연결하고 있는지 확실하지 않으면 디버깅이 더 어려워 질 수 있습니다.


1

이는 해당 주소에 대해 두 개의 서버 (또는 해당 IP를 가진 두 개 이상의 엔드 포인트가 있음)를 의미합니다.

예를 들어 Google을 검색하면 많은 주소 (및 서버)가 있음을 알 수 있습니다


1
dig google.com A하나의 IP로만 응답합니다. 내가 묻는 리졸버에 따라 다른 IP로 응답합니다. 외부 게이트웨이 뒤에서 라우팅 마술을하는 것 같습니다.
cascer1

1
@ cascer1 박람회는 충분히, 구글 :) 라우팅 마술을 많이 할
djsmiley2k
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.