DNS : 후행


30

바인드 dns 레코드를 편집 할 때 추적 기간을 추가해야 작동합니다. 이것의 요점은 무엇입니까?

everydns.net을 사용할 때 어떻게됩니까? 마침표를 추가하지 않아도됩니까?

이것이 구현 문제입니까?


정말 좋은 질문입니다. 나는 그 점에 실제로주의를 기울이지 않았지만 여기의 대답은 매우 교육적입니다 (내용과 구문).
Kara Marfia

답변:


21

DNS 자체에는 루트 영역이 있습니다. 이 영역을 문자 그대로 "."라고했습니다. 바인드는 DNS 이름을 완전히 규정해야합니다 (. 또는 루트 영역 포함). 다른 UI는 루트 영역을 가정하여이를 단순화합니다.

바인드 내 ORIGIN에서 FQDN (후행.을 포함한 완전한 도메인 이름)을 지정하지 않으면 자동으로 추가 되는 변수 를 정의 할 수 있습니다 . Alnitak 은 구문과 다양한 용도에 대한 탁월한 예를 보여줍니다.


실제로 $ ORIGIN 변수를 정의하여 호스트 이름을 정규화 할 수 있습니다. 아래의 Russell Heilling 및 Alnitak 의견을보십시오.
Benoit 2016 년

아주 좋은 지적입니다. 그 사실에 관해 뭔가를 추가하기 위해 편집하겠습니다.
Kevin Colby 2016 년

1
루트 영역은 호출되지 않습니다 .. 빈 레이블입니다.
bzeaman

17

후행 '.' 이름을 "완전한 도메인 이름", 즉 절대 도메인 이름으로 만듭니다.

후행 '.'을 추가하지 않으면 표준 "마스터 파일 형식"파일에서 그런 다음 이름은 현재 영역 파일과 관련이있는 것으로 간주됩니다 $ORIGIN(아래에 표시된대로 영역 파일에 지정되거나 다른 방법으로 zone명령문에서 named.conf가져옴).

$ORIGIN example.com.
mail    IN A      192.168.1.1
mail2   IN A      192.168.1.2
server  IN A      192.168.1.3
@       IN MX 10  mail                   ; not FQDN - example.com. appended
        IN MX 20  mail2.example.com.     ; FQDN 
        IN MX 30  mail.example.net.      ; FQDN in another domain
        IN MX 40  mail2.example.net      ; ERROR - not FQDN - example.com appended
www     IN CNAME  server                 ; not FQDN - example.com. appended

3
영역 파일에 지정되지 않은 경우 ORIGIN은 제공된 영역의 이름으로 내재적으로 정의됩니다.
bortzmeyer 2016 년

9

. 이름이 루트에 상대적이되게하고 이름이 없으면 현재 영역에 상대적이됩니다. 표준 영역 형식rfc1035rfc1034에 정의되어 있습니다.

everydns.net을 사용할 때 어떻게됩니까? 마침표를 추가하지 않아도됩니까?

이것이 구현 문제입니까?

예, easydns.net이 약간 기발한 것처럼 들립니다.


2
엄밀히 말하면 "근본에 대한"이 아니라 "완전한"이라고합니다.
Alnitak

/ var / log와 var / log를 지정하는 것의 차이점
Matt Simmons

아니요, 현재 디렉토리가 / var 인 경우 / var / log와 log의 차이점과 비슷합니다.
Alnitak

6

후행 "."을 입력하지 않으면 그런 다음 서버는 $ ORIGIN 값을 레코드 끝에 추가합니다. 이것은 매우 유용한 바로 가기가 될 수 있으며 잘 사용하면 많은 타이핑을 저장할 수 있습니다.

불행히도 "."을 잊어 버리기 쉽다. 문제 진단이 어려울 수 있습니다.

기술적으로 "." www.serverfault.com과 같은 레코드 끝에 "com"gTLD와 ""루트 영역 사이의 구분 기호를 나타냅니다.


3

후행 점은 DNS 서버에게 이것이 정규화 된 이름임을 알려줍니다. 점은 DNS 계층의 근본입니다. 점을 사용하지 않으면 DNS 서버는 현재 영역의 레코드 인 것으로 가정하여 추가합니다. 예를 들어 exmaple.com에 host.example.org를 가리키는 CNAME이 있으면 쿼리 할 때 원하는 것이 아닌 host.example.org.example.com을 얻게됩니다.

everydns.net과 관련이없는 이유는 아마도 UI를 작성했기 때문에이 기술적 인 세부 사항에 대해 걱정할 필요가 없기 때문입니다.


2

fqdn에서 점은 실제 식별자입니다. "com"및 "edu", "hp"및 "stanford"는 임의의 구분 기호입니다. 점은 스핀으로 고유하게 식별됩니다.


2
내가 너무 오래 전에 읽은 dns-root-level 레벨의 개념을 머릿속으로 감싸려고 할 때, 서버 실 (silfault)이 머릿속에 들어온 것을 용서해주세요. 생각할 수있는 한 가지 방법은 DNS 루트 수준이 기본적으로 null 문자열이라는 것입니다. 따라서 자격을 갖추려면 점을 추가해야합니다. DNS가 대규모 커미트 또는 Microsoft가 설계 한 경우 최상위 수준은 "최상위"이거나 FQDN에 ".top"을 추가해야합니다. PITA에 더 가까운 자신을 결정하십시오.

도트 스핀은 어떻습니까? : P 그건 너무 무작위 였어 ...
shylent

2

원래 디자이너는 최소한의 타이핑으로 영역 파일에 호스트를 지정할 수 있기를 원했습니다. 따라서 후행 점으로 정규화되지 않은 경우 각 항목에 영역을 추가하는 것이 기본값입니다. 이것은 everydns.net이 초보자 오류와 혼란을 초래한다는 것을 인식하는 구현 문제입니다. 그러므로 그들은 그것을 제거했다.


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