DNS A vs NS 레코드


42

DNS를 좀 더 잘 이해하려고 노력하고 있지만 여전히 A 및 NS 레코드를 완전히 얻지는 못합니다.

내가 아는 한, A 레코드는 어느 IP 주소가 (하위) 도메인에 속하는지 알려줍니다. 그러나 내가 이해했듯이 NS 레코드는 어떤 네임 서버 포인트가 (서브) 도메인에 속하는지를 알려주고 그 네임 서버는 어느 IP 주소가 (서브) 도메인에 속하는지를 알려줍니다. 그러나 동일한 DNS 파일의 A 레코드에 이미 지정되어 있습니다. 그래서 누군가 내가 NS 레코드와 네임 서버가 정확히 무엇을하는지 설명 할 수 있습니다.

편집 : 내가 정확하게 이해하는 것처럼 NS 레코드는 특정 도메인에 대한 A 레코드가있는 DNS 서버를 찾겠다 고 말하고 A 레코드는 도메인에 속한 ip 주소가 무엇인지 알려줍니다. 그러나 A와 NS 레코드를 동일한 DNS 파일에 넣는 방법은 무엇입니까? 특정 도메인에 대한 A 레코드가 이미 있다면 왜 다른 DNS 서버를 가리켜 야합니까? 아마도 같은 정보를 제공 할 것입니까?


오래된 질문에 대한 허비를 용서하지만, 나는 DNS 관리자이며 문제를 적절하게 설명하기 위해 공감 된 답변을 고려하지 않습니다. 초기에 같은 혼란을 겪었 기 때문에이 질문과 관련 될 수 있습니다. 나는 내 자신의 답변에 기여했습니다.
Andrew B

답변:


44

가상 foo.com영역 파일 의 일부 예

 ....... SOA record & lots more stuff .......
 foo.com.      IN        NS        ns1.bar.com.

 foo.com.      IN        A         192.168.100.1
 ....... More A/CNAME/AAAA/etc. records .......

A 레코드 = "호출 된 호스트 foo.com는 주소 192.168.100.1에 있습니다."
NS 레코드 = " foo.com영역의 호스트에 대해 알고 싶으면 이름 서버 ns1.bar.com을 요청하십시오."


3
나는 foobar 참조를 좋아합니다. : D
JohnThePro

2
@Tiddo 큰 이유는 슬레이브 서버가 NS 레코드로 나열되어 있기 때문에 일반적으로 영역 변경에 대한 알림을 받기 때문입니다. 또한 ns1.foo.com다른 것을 찾는 과정에서 신뢰할 수있는 서버 의 주소 를 쿼리하고 거기에 레코드가 없으면 NXDOMAIN나쁜 일이 발생하지만 ( com부모 서버 를 쿼리 한 사람들에게는 효과가 있습니다.) 아마 접착제 A 기록이있을 것입니다)
voretaq7

1
@JohnThePro-내 다른 옵션은 example.com이고 example.com 참조가 싫습니다 :-)
voretaq7

3
@ voretaq7 그래서 기본적으로 NS 레코드는 백업 메커니즘으로 사용되며 도메인의 IP 주소가 변경되면 해당 네임 서버에 알립니다.
Tiddo

2
@tiddo 및 위에서 설명한 다른 많은 답변에서 이정표로. 내가 잊어 버린 NS 레코드를 볼 수있는 다른 것들이있을 수 있지만 그 두 가지 큰 것들이 마음에 듭니다.
voretaq7

18

이것은 오래된 질문이지만 다른 답변은 혼란의 근원에 실제로 영향을 미치지 않는다고 생각합니다. NS정점의 NS레코드는 정점 아래의 레코드 와 다른 규칙 집합을 따릅니다 .

이러한 규칙에서 A이름이 같은 DNS 서버에 레코드가 있을 때 발생하는 동작에 대해 두 가지 동작을 파생시킬 수 있습니다 .

  • 는 IF NS기록 조회를 정의하지 않 고, 다른 데이터는 동일한 영역에서 함께 그것의 존재할 수 있습니다. 서버는 NS레코드와 레코드 모두에 대해 권한이있는 것으로 간주되므로 A충돌이 없습니다. 이것이 바로 다른 데이터가 일반적으로 NS영역의 정점에서 레코드 와 함께 존재하는 이유 입니다.
  • 는 IF NS기록 하지 추천을 정의, 다음 A기록은 효과적으로가 "마스크"되는 영역 컷 . 이 A기록은 신뢰할 수있는 것이 아니며 신뢰할 수있는 답변의 답변 섹션에 나타나지 않아야합니다. 잠재적으로 추천의 추가 섹션에 나타나는 글루 데이터 로 사용될 수 있지만 그게 전부입니다.

혼란 스러운가? 그래 이 문제를 따르는 데 문제가 있으면 의견에 메모를 남기십시오.


APEX 무엇을 의미합니까?
Ryan-Neal Mes

@ Ryan-Neal NS영역 파일의 맨 위에 있는 레코드입니다.
Andrew B

9

NS 레코드는 해당 도메인 이름에 DNS 서비스를 제공하는 서버를 지정합니다.

A 레코드는 호스트 이름 (예 : www, ftp, mail)을 하나 이상의 IP 주소를 가리 킵니다.


7

A 레코드는 이름을 IP 주소에 매핑합니다. 예 :

binary.example.com. 192.168.1.42에서

binary.example.com을 나타냅니다. 192.168.1.42로 해결

NS 레코드는 이름을 다른 이름 서버, 즉 해당 도메인을 제공하는 다른 DNS 서버에 매핑합니다. 예를 들어 "이 이름의 IP 주소는 몰라요. 만약 당신이 저 이름 서버를 물어 보면 알 수있을 것입니다"

binary.example.com. NS otherbox.example.com에서
otherbox.example.com. 192.168.1.2에서

binary.example.com에 대해 위의 2 개의 레코드가있는 DNS 서버를 요청하는 경우 (또는 www.binary.example.com. 또는 foo.bar.binary.example.com). 192.168.1.2로 해당 이름을 번역하라고 요청해야합니다.


종종 동일한 도메인에 대한 NS 및 A 레코드를 지정하는 DNS 레코드가 표시됩니다. 그러나 NS 레코드가 A 레코드를 찾도록 지시했다면 A 레코드가 이미있는 경우 동일한 파일에서 NS 레코드를 어떻게 사용합니까?
Tiddo

이것은 내가 가장 좋아하는 설명이었습니다!
Benjamin

6

하위 영역을 다른 DNS 서버에 위임해야하는 경우 영역에 NS 및 A 레코드를 모두 갖는 것이 중요합니다.

예를 들어 존 bar.com에 대해 DNS ns1.bar.com 권한을 가지고 있습니다. 그리고 foo.bar.com을 ns1.foo.bar.com에 위임해야합니다. 따라서 우리는 foo.bar.com 영역을 생성하고 다음과 같은 레코드를 저장해야합니다.

foo.bar.com.     IN NS ns1.foo.bar.com.
ns1.foo.bar.com. IN A  10.10.10.10

기록이 없으면 기록 위임이 작동하지 않습니다. 이러한 레코드 쌍을 글루 레코드라고합니다.

접착제 레코드는 DNS 시스템이 루트가 아닌 영역에 대한 권한있는 DNS 서버의 정확한 IP를 찾는 유일한 방법입니다. digwireshark를 사용하여 NS 레코드에 대한 도메인 레코드를 확인 하거나 트래픽 덤프를 보면 '추가'섹션이 있음을 알 수 있습니다.

;; ANSWER SECTION:
foo.bar.com.             10800   IN      NS      ns1.foo.bar.com.

;; ADDITIONAL SECTION:
ns1.foo.bar.com.         7972    IN      A       10.10.10.10

재귀 요청 (예 : www.foo.bar.com)을 수행 할 때 dns 클라이언트는 foo.bar.com 영역에 대한 DNS 권한을 요청하고 ns1.foo.bar.com에 대한 응답을받습니다.

더 나아가려면 ns1.foo.bar.com에서 제공하는 ns1.foo.bar.com에 대한 요청을 보내야합니다. 루프를 해제하려면 위임 DNS 서버가이 추가 섹션을 A 레코드와 함께 추가해야합니다.

서버 ns1.foo.bar.com은 해당 영역에 동일한 레코드를 가져야하므로 foo.bar.com 영역에 대한 권한을 가질 수 있습니다.


내가 당신의 접착제 기록 설명을 볼 때까지 닭고기와 계란 문제 주위에 머리를 가져가는 데 어려움을 겪고 있었다!
Jon Skarpeteig

3

NS 레코드는 특정 도메인을 담당하는 WHICH NAMESERVER를 정의 할 목적으로 만 존재합니다.

특정 머신이나 서비스를 "주소 지정"하는 A 레코드가 있습니다.

당신을위한 예 :

DNS 제어판에 일부 NS 레코드가 표시됩니다.이 레코드는 NAMESERVERS 또는 도메인의 자료가있는 위치를 인터넷에 알려주는 기본 시스템입니다.

NS1.CP.COM NS2.CP.COM

또한 DNS 패널 내부에는 웹 사이트와 같은 일부 서비스가 필요한 소유 한 도메인 (예 : -mikesfunhouse.com)이 있습니다.

따라서 "mikesfunhouse.com"을 "76.19.87.956"(명확히 가짜 IP)으로 지정하는 기본 A 레코드가 있습니다.

그런 다음 하위 레코드 "www"를 리디렉션하는 다른 레코드 인 www 레코드를 만듭니다. 기본 사이트의 일부입니다.

즉, A 레코드를 사용하여 네임 스페이스를 IP 주소로 변환합니다.


1

네임 서버 레코드는 인터넷에 어떤 DNS 서버가 A 레코드를 보유하는지 알려주므로 서브 도메인에 대한 A 레코드를 찾아 보려면 대략 다음과 같은 과정이 필요합니다.

도메인의 네임 서버 조회-> 서브 도메인의 A 레코드 네임 서버 조회


그러나 A 레코드가 이미 동일한 파일에 있으면 왜 NS 레코드를 지정해야합니까?
Tiddo

1
당신이 찾고있는 것에 관한 모든 것입니다. NS 레코드는 시작점과 같습니다. 서버가 이전에 도메인을 방문한 적이 없다면 먼저 NS 서버가 도메인에 응답한다는 것을 알게됩니다. 해당 서버를 식별 한 후 해당 도메인의 A 레코드를 쿼리합니다.
JohnThePro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.