CNAME 레코드

CNAME record

CNAME 레코드(CNAME record)는 Domain Name System(DNS; 도메인네임 시스템) 의 자원 레코드의 일종으로 도메인 이름(에일리어스)을 다른 도메인 이름(정규 이름)[1]에 매핑합니다.

이것은, 1 의 IP 주소로부터 복수의 서비스(각각 다른 포토로 동작하는 FTP 서버Web 서버등)를 실행하는 경우에 편리함을 증명합니다.예를 들어 CNAME 레코드를 사용하여 ftp.example.com 및 www.example.com을 example.com의 DNS 엔트리로 포인트 할 수 있습니다.이 엔트리는 IP 주소를 가리키는A 레코드를 가집니다.그 후, IP 주소가 변경되었을 경우는, 그 변경을 네트워크내의 1 장소(example.com 의 DNS A 레코드)에만 기록하면 됩니다.

CNAME 레코드는 항상 다른 도메인 이름을 가리켜야 하며 IP 주소를 직접 가리켜서는 안 됩니다.

세부 사항

DNS CNAME 레코드는 RFC 1034에 규정되어 있으며, RFC 2181의 섹션 10에 설명되어 있습니다.

CNAME 레코드는 도메인네임 시스템에서 특별히 처리되며 사용에 몇 가지 제한이 있습니다.DNS 리졸바는 일반 자원 레코드를 검색하는 동안 CNAME 레코드를 발견하면 원래 이름이 아닌 표준 이름을 사용하여 쿼리를 재시작합니다.(리졸바에 CNAME 레코드를 검색하도록 지시된 경우 쿼리를 재시작하지 않고 표준 이름(오른쪽)이 반환됩니다).CNAME 레코드가 가리키는 표준명은 로컬 또는 다른 DNS 존의 리모트서버에 관계없이 DNS 내의 임의의 장소에 배치할 수 있습니다.

예를 들어 다음과 같은 DNS 존이 있는 경우:

NAME TYPE VALUE -------------------------------------------------------------------------------------------------------------bar.example.comCNAME foo.example.com foo.example.com 。A 192.0.23

bar.example.com 레코드 룩업이 실행되면 리졸바는 CNAME 레코드를 확인하고 foo.example.com에서 체크를 재시작한 후 192.0.23을 반환합니다.

혼동을 일으킬 수 있음

CNAME 레코드는 bar.example.com과 같은 이름을 foo.example.com에 붙일 수 있다.DNS 엔트리의 왼쪽이 「CNAME」또는 「CNAME」으로 잘못 식별될 가능성이 있습니다만, 이것은 부정확합니다.bar.example.com의 정식(진정한) 이름은 「foo.example.com」입니다.CNAME은 Canonical Name을 의미하기 때문에, 주소 「A」와 같은 쪽에 있는 실제의 「CNAME」이 오른쪽입니다.

이 혼란은 RFC 2181 "DNS 사양에 대한 명확화"에 구체적으로 설명되어 있습니다.왼쪽 라벨은 오른쪽(RDATA 부분)의 에일리어스입니다.이 부분은 정식 이름([2]또는 정규 이름)이어야 합니다.즉, CNAME 레코드는 다음과 같습니다.

bar.example.com 를 참조해 주세요.CNAME foo.example.com. 

다음과 같이 해석할 수 있습니다.
bar.example.com 는, CNAME(Canonical Name) foo.example.com 의 에일리어스입니다.클라이언트는 bar.example.com을 요구하며 답변은 foo.example.com입니다.

제약 사항

  • CNAME 레코드는 항상 IP 주소가 아닌 다른 도메인 이름을 가리켜야 합니다.
  • 노드에 CNAME 레코드가 존재하는 경우 다른 데이터는 존재하지 않습니다.이를 통해 표준 이름 및 그 에일리어스의 데이터는 달라지지 않습니다.(RFC 1034 섹션 3.6.2, RFC 1912 섹션 2.4) 예외는 DNSSEC가 사용되고 있는 경우이며, 이 경우 RRSEC 등의 DNSSEC 관련 레코드가 존재할 수 있습니다.
  • 다른 CNAME 레코드를 가리키는 CNAME 레코드는 효율이 떨어지기 때문에 피해야 하지만 오류가 [3]아닙니다.따라서 다음과 같이 CNAME 레코드로 해결할 수 없는 루프를 작성할 수 있습니다.
    foo.example.com 를 참조해 주세요.CNAME bar.example.com bar.example.com 。CNAME foo.example.com.
  • DNAME 레코드가 제공하는 CNAME 레코드는 오래된 리졸바에서 재귀 루프를 일으킬 수 있습니다.[검증 필요]
  • MX 및 NS 레코드는 CNAME 에일리어스를 가리켜서는 안 됩니다(RFC 2181 섹션 10.3).따라서 예를 들어 존에는 다음과 같은 구성 요소를 포함할 수 없습니다.
    example.com 를 참조해 주세요.MX 0 foo.example.com foo.example.com foo.example.comCNAME host.example.com.host.example.com 를 참조해 주세요.A 192.0.2.1
  • SMTP MAIL 및 RCPT 명령어로 사용되는 도메인에는 CNAME [4]레코드가 없을 수 있습니다.실제로 이 방법은 작동할 수 있지만, 다른 메일 서버에서 다른 동작을 취할 수 있으며 원하지 않는 [5]영향을 미칠 수 있습니다.

DNAME 레코드

DNAME 레코드 또는 위임명 레코드는 RFC 6672로 정의되어 있습니다(원래의 RFC 2672는 폐지되었습니다).DNAME 레코드는 도메인네임 트리의 서브트리 전체의 에일리어스를 만듭니다.반대로 CNAME 레코드는 서브도메인이 아닌 단일 이름의 에일리어스를 만듭니다.CNAME 레코드와 마찬가지로 DNS 룩업은 새로운 이름으로 룩업을 재시도함으로써 계속됩니다.네임 서버는 CNAME 레코드를 합성하여 요청된 이름에 실제로 DNAME 레코드를 적용합니다.서브트리상의 모든 노드의 CNAME은 서브트리 전체의 DNAME과 같은 효과가 있습니다.

예를 들어 다음과 같은 DNS 존이 있는 경우:

foo.example.com 를 참조해 주세요.DNAME bar.example.com bar.example.com 。192.0.23 xyzzy.bar.example.com 。192.0.2.24 *.bar.example.com.A 192.0.25

DNAME은 CNAME이 아니며 foo에 직접 A레코드가 없기 때문 foo.example.com의 A레코드 룩업에서는 데이터가 반환되지 않습니다.

다만, xyzzy.foo.example.com 의 룩업은 DNAME 매핑이 되어, xyzzy.bar.example.com 의 A 레코드(192.0.2.24)가 반환됩니다.DNAME 레코드가 CNAME 레코드였을 경우, 이 요구에서는 찾을 수 없는 이름이 반환됩니다.

마지막으로 foobar에 대한 요청입니다.foo.example.com 는 DME 매핑 되어 192.0.2.25 를 반환합니다.

ANAME 레코드

일부 관리 대상 DNS 플랫폼에서는 비표준[6] ALIAS 또는 ANAME 레코드 타입이 구현되어 있습니다.이러한 유사 레코드는 CNAME 레코드와 같은 DNS 관리자에 의해 관리되지만 A 레코드와 같은 (일부) DNS 클라이언트에 의해 게시 및 해결됩니다.ANAME 레코드는 일반적으로 다른 도메인을 가리키도록 설정되지만 클라이언트에 의해 쿼리되면 IP 주소로 응답합니다.ANAME 레코드 타입은 [7]표준화가 진행 중이지만 많은 부적합한 실장이 존재할 수 있기 때문에 존의 꼭대기에 존재하고 메일을 수신하는 도메인용으로 존재하는 등 DNS 플랫폼의 소유자가 선택하는 것은 무엇이든 실행할 수 있습니다.ANAME 레코드가 CNAME 레코드에 비해 고속이라는 장점이 있습니다.DNS 클라이언트는 CNAME을 IP 주소로 해결하려면 적어도2개의 쿼리를 필요로 합니다만, ANAME을 IP 주소로 해결하려면 1개의 쿼리가 필요합니다.DNS 서버는 A 레코드를 해결하고 요청된 IP 주소를 DNS 클라이언트보다 더 효율적으로 캐시할 수 있습니다.ANAME 레코드 유형은 IETF에 의해 검토되고 있는 표준 초안이었지만, 최신 초안 [7]문서는 2020년 1월에 만료되었습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Mockapetris, P. (November 1987). "RFC 1035 - Domain names - implementation and specification". Internet Engineering Task Force. Retrieved 16 March 2019.
  2. ^ "RFC 2181: Clarifications to the DNS Specification". IETF. July 1997. Retrieved 2011-03-09.
  3. ^ Mockapetris, P. (November 1987). "RFC 1034 - Domain names - concepts and facilities". Internet Engineering Task Force. Retrieved 15 July 2019.
  4. ^ Braden, R. (October 1989). "RFC1123 - MAIL - SMTP & RFC-822". Retrieved 23 July 2020.
  5. ^ Bernstein, D. J. "CNAME records in mail". Retrieved 3 June 2011.
  6. ^ "ALIAS Records". Retrieved 2019-07-26.
  7. ^ a b "Address-specific DNS aliases (ANAME)". 2019-07-08. Retrieved 2019-07-26.

외부 링크