호스트 이름은 대소 문자를 구분합니까?


답변:


24

DNS에서 확인 된 이름은 대소 문자를 구분하지 않습니다. 혼동을 막기 위해 중요합니다. 대소 문자를 구분하면 .com (.com, .Com, .cOm, .COm, .coM, .CoM, .cOM 및 .COM)의 8 가지 변형이 있습니다. 국가 코드는 4 개입니다.

이름 확인이 Ping에서 대소 문자를 구분하는 경우 DNS에서 수행하지 않습니다.


국제화 된 도메인 이름을 추가 한 후에는 다소 까다로워집니다. 비 ASCII 상황에서는 상황이 중요 할 수 있습니다.
Zoredache

1
@Zoredache : IDNA 시스템을 사용하는 국제화 된 도메인을 Punycode로 인코딩 할 수 있어야하며 소문자로 변환해야합니다. 이름을 시각적으로 구분하기위한 추가 제한 사항도 있습니다. 또한 사용자가 사건을 올바르게 처리하도록 강요하지 않습니다.
BillThor

6

나는 방금 직장에서 이것을 가지고있다. DNS 대소 문자를 구분하지 않아야 합니다. RFC는이를 지정합니다. https://tools.ietf.org/html/rfc4343 그러나 소문자 여야한다고 말하지는 않습니다.

그래서 우리는 내부 도메인 "t.local"에 적합한 것을 해결하지 못한 호스트의 문제를 해결하는 것을 즐겼습니다.

p123$ ping p123-db.t.local
PING p123-db.t.local (192.168.106.175) 56(84) bytes of data.
....works ok

p123$ ping P123-dB.T.lOcal
ping: unknown host P123-dB.T.lOcal

왜 대소 문자를 해결해야합니까? 그것이 tcpdump가 DNS 쿼리로 보여준 것이기 때문에 실행중인 소프트웨어가 요구 한 것이기 때문입니다. pgbouncer는 구성에서 "p123-db"를 사용하도록 구성되었고 resolv.conf는 "t.local"의 검색 도메인을 지정했습니다.

glibc가 사건을 무작위로 토글하는 것으로 나타났습니다. 이 프로세스를 "0x20 패딩"이라고하며 2008 년 "트랜잭션 ID를 개선하기 위해 DNS 레이블에 비트 0x20 사용" http://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00 에 처음 설명되었습니다.

주된 목적은 엔트로피를 증가시켜 답장을 허위하기 어렵게하는 것입니다. 질문의 경우 답변의 경우와 일치해야합니다.

여기서 좋은 토론을 찾을 수 있습니다. https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case


별도로, 우리는 내부적으로 powerDNS를 실행하고 데이터베이스에 대한 조회를 수행합니다. 수년 동안 아무도 t.local 도메인에서 대문자로 호스트 이름이나 FQDN을 사용한 적이 없기 때문에 내부 도메인이 대소 문자를 구분 한 적이 없었습니다.

쿼리의 일부 조정으로 수정되었지만 위와 같이 0x20 혼합 대소 문자 조회가 손상되어 클라이언트가 요청한 것과 동일한 경우에 응답이 반환되도록 요구할 수 있습니다.

간단한 답변 : DNS는 대소 문자를 구분해서는 안되지만 앞으로 질문과 답변은 대소 문자가 동일해야합니다.


2
질문을한지 4 년 만에 답은 미묘하게 다릅니다. 또 다른 4 년 안에 답이 "예
-DNS

4

호스트 이름 확인이 대 / 소문자를 구분하는 내장 SE Linux 장치의 문제 해결을 마쳤습니다.

"ping MYHOST"는 127.0.0.1로 핑되는 반면 "ping myhost"는 올바른 IP 주소를 핑합니다.

nslookup은 대문자와 소문자 모두에 대해 올바른 결과를 생성하여 DNS 서버에 오류가 없음을 나타냅니다.

그러나 캐시를 무시하는 nslookup과 달리 "getent hosts MYHOST"출력 "0.0.0.0"및 "getent hosts myhost"는 올바른 IP 주소를 출력합니다.

따라서 nscd는 대소 문자를 구분합니다. 캐시를 지우려면 "nscd -i hosts"를 호출하면 문제가 해결되었습니다.

DNS 항목이 작성되기 전에 MYHOST에 연결을 시도하는 프로세스로 인해 원격 호스트의 MYHOST (대문자)가 0.0.0.0으로 캐시되었습니다. 이는 원격 장치가 DHCP 할당을받을 때 발생합니다.


0

BillThor가 언급했듯이 DNS 또는 netbios 확인 수준에서는 대소 문자를 구분하지 않습니다.

다양한 OS는 다른 케이스에도 문제가 없습니다.

그러나 응용 프로그램에서 인식 할 수 있습니다. 예를 들어, 다양한 환경의 웹 플랫폼이 대소 문자 구분을 확인할 수 있습니다. 검색 엔진 최적화 (SEO) 이유로 다른 케이스 및 리디렉션을 감시하는 것이 더 일반적입니다. 그것은 모두 응용 프로그램에 달려 있으므로 대답은 다양합니다.

'대부분'의 경우 호스트 이름은 응용 프로그램 수준에서도 대소 문자를 구분하지 않습니다.

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