Active Directory는 공백이있는 DNS 이름을 지원합니까? 네트워크에서 일부 정적 DNS-SD 서비스를 설정하는

네트워크에서 일부 정적 DNS-SD 서비스를 설정하는 방법을 살펴보면서 http://www.dns-sd.org/ServerStaticSetup.html 을 보았습니다. Active Directory의 DNS 서버는 공백이있는 DNS 이름을 지원하지 않습니다. 그들 안에.

이것이 여전히 사실인지 아는 사람이 있습니까 (페이지가 다소 오래되었다고 느끼는가)?

업데이트 : 주로 A / CNAME 레코드가 아닌 PTR 및 SRV 레코드를 말합니다.



답변

도메인 이름 (255)의 범위 0 이진 옥텟들을 포함 할 수있다.

그러나 AD 항목이 호스트 이름을 나타내는 경우 공백은 유효한 문자가 아닙니다. 호스트 이름 (즉, A또는 AAAA레코드 를 가리키는 도메인 이름 )은 RFC 1123 의 규칙을 따라야합니다.이 규칙은 기본적으로 유효한 문자를 LDH ( “문자 숫자 하이픈”)로 제한합니다.

따라서 다른 항목의 경우 MS가 RFC를 잘못 해석했을 가능성이 있습니다. 그들은 첫 번째가 아니며 확실히 마지막이 아닙니다.

참고 문헌

RFC 1035의 §5.1 :

인용 규칙을 사용하면 임의의 문자를 도메인 이름에 저장할 수 있습니다.

§6.1.3.5. 의 RFC 1123 :

DNS는 도메인 이름 구문 (일반적으로 점으로 구분 된 최대 63 개의 8 비트 옥텟을 포함하는 레이블 문자열)을 정의합니다.

과의 §11 RFC 2181 :

모든 리소스 레코드의 레이블로 사용될 수있는 모든 이진 문자열


답변

아-저격해서 미안하지만 개가 여기에 있습니다. AD가 공백이있는 DNS 이름을 지원하지는 않지만 정의당 DNS 이름과 RFC는 공백을 가질 수 없습니다. RFC 952 및 1123은 모두 DNS 이름의 일부로 공백을 허용하지 않습니다.

따라서 AD는 DNS 이름의 공백을 단점으로 지원하지 않지만 다른 모든 것과 동일한 규칙을 따르기 때문입니다.


답변

특정 질문에 대한 대답은 아니요입니다 . Active Directory는 DNS 호스트 이름에 공백허용 하지 않습니다 . 금지 된 문자는 KB 909264-Active Directory의 컴퓨터, 도메인, 사이트 및 OU대한 명명 규칙에서 읽을 수없는 문자 라는 섹션 에 명확하게 설명되어 있습니다 .

DNS 호스트 이름은 공백 또는 공백 문자를 포함 할 수 없습니다.

일반적으로 Active Directory를 넘어 DNS 도메인 이름 시스템으로 답변을 확장하려면 상황이 약간 까다로워집니다. 특정 경우 공간이 기술적으로 허용되지만 실제로는 그러한 경우가 발생하지 않을 것입니다.

짧은 대답 : DNS 호스트 이름에 공백을 사용하지 마십시오!

RFC 3696, 도메인 제한 (DNS) 이름의 §2에 따른 긴 대답 은 다음과 같습니다.

DNS 이름에는 모든 문자 또는 비트 조합 (옥텟)이 DNS 이름에 허용됩니다.

계속해서 말합니다 (강조 광산) :

그러나 대부분의 응용 프로그램에 필요한 기본 양식이 있습니다. 이 기본 양식은 최상위 도메인 또는 TLD의 이름으로 허용되는 유일한 양식입니다. 일반적으로
사용자가 볼 수없는 일부 이름은 다른 규칙을 준수하지만 TLD에 등록 된 대부분의 2 차 이름에서 허용되는 유일한 형식이기도합니다 . 호스트 이름 지정에 대한 원래 ARPANET 규칙 (예 : “호스트 이름”규칙)에서 파생되며 허용되는 문자 다음에 “LDH 규칙”으로 더 잘 설명 될 수 있습니다. LDH 규칙은 다음과 같이 업데이트됩니다.도메인 이름을 구성하는 레이블 (마침표로 구분 된 단어 또는 문자열)은 ASCII [ASCII] 알파벳 및 숫자와 하이픈으로 구성되어야합니다. 다른 기호 나 문장 부호는 허용되지 않으며 공백도 허용되지 않습니다.
하이픈을 사용하는 경우 레이블의 시작 또는 끝에 표시 할 수 없습니다. 최상위 도메인 이름이 모두 숫자가 아니어야하는 추가 규칙이 있습니다.

이 수단 실제로 당신이해야 공간을 사용하지 , 비록에서이 발췌에 정의 된 도메인 이름의 가장 일반적인 사양 RFC 1035의 §5.1 가 도메인 이름에 공백을 허용 할 수 있습니다 :

<도메인 이름>은 마스터 파일에서 데이터의 많은 부분을 구성합니다. 도메인 이름의 레이블은 문자열로 표시되며 점으로 구분됩니다. 인용 규칙을 사용하면 임의의 문자를 도메인 이름에 저장할 수 있습니다.

<문자열>은 하나 또는 두 가지 방식으로 표시됩니다. 내부 공간이없는 연속 된 문자 세트 또는 “로 시작하고”로 끝나는 문자열로 표시됩니다. “구분 된 문자열 내에서 \ (백 슬래시)를 사용하여 인용해야하는”자체를 제외한 모든 문자가 발생할 수 있습니다.

RFC 1035의 다른 부분 , 특히 §2.3 에서는 다음과 같이 경고합니다.

2.3. 컨벤션

도메인 시스템에는 저수준이지만 근본적인 문제를 다루는 몇 가지 규칙이 있습니다. 구현자는 자신의 시스템 내에서 이러한 규칙을 자유롭게 위반할 수 있지만 다른 호스트에서 관찰 된 모든 동작에서 이러한 규칙을 준수해야합니다.

2.3.1. 선호하는 이름 구문

DNS 사양은 도메인 이름 구성 규칙에서 최대한 일반적으로 시도합니다. 아이디어는 기존 객체의 이름을 최소한의 변경으로 도메인 이름으로 표현할 수 있다는 것입니다.

그러나 개체에 도메인 이름을 할당 할 때 신중한 사용자는 이러한 규칙이 기존 프로그램에 의해 게시되거나 암시되는지 여부에 관계없이 도메인 시스템의 규칙과 개체의 기존 규칙을 모두 만족하는 이름을 선택합니다.

예를 들어, 메일 도메인 이름을 지정할 때 사용자는이 메모의 규칙과 RFC-822의 규칙을 모두 만족시켜야합니다. 새 호스트 이름을 만들 때는 HOSTS.TXT의 이전 규칙을 따라야합니다. 이렇게하면 이전 소프트웨어를 도메인 이름을 사용하도록 변환 할 때 문제가 발생하지 않습니다.

본인의 해석에 대한 추가 설명이나 수정을 분명히 환영하지만 RFC의 특정 섹션을 인용하여이 해석을 확인하거나 거부하지 않는 한 그렇게하지 마십시오.


답변

기본적으로 Windows DNS 서버는 DNS 이름에서 공백을 지원하지 않지만 ‘서버 속성-> 고급 탭-> 이름 확인’을 ‘모든 이름’으로 변경하면 서버는 공백이있는 항목을 행복하게 받아들이고 제공합니다.


답변