CNAME과 A 레코드가 모두 존재하는 경우 DNS 조회 순서는 무엇입니까?

CNAME과 A 레코드가 모두 존재하는 경우 DNS 조회 순서는 무엇입니까?

동일한 하위 도메인에 대해 A 레코드와 CNAME 레코드를 설정하는 경우 DNS 조회는 어떻게 수행됩니까?

예를 들어,

A record: 
example.com => xx.xx.xx.xx
www.example.com => xx.xx.xx.xx

CNAME record:
www. => example.com

해결할 때www.example.com, DNS 해석기가 하위 도메인 www에 대한 A 레코드를 직접 조회하여 IP를 얻습니까, 아니면 www에 대한 CNAME을 조회하여 리디렉션 도메인(example.com)을 얻은 다음 example.com의 A 레코드를 조회하여 IP를 얻습니까? 결국 ip야?

답변1

기록 이란 무엇입니까 CNAME?

레코드가 하는 일은 CNAME다음을 정의하는 것입니다.소유자 이름(레코드가 추가된 이름)을 CNAME레코드 값(레코드가 추가된 이름)에 대한 별칭으로 사용합니다.표준 이름, 레코드 유형의 이름에 따라).
별칭 정의는 이름 수준에서 이루어지며 레코드 유형을 완전히 무시합니다.

소유자 이름이 별칭이라는 의미 중 하나는 다른 레코드도 가질 수 없다는 것입니다. 이는 단지 다른 이름에 대한 별칭인 것과 직접적으로 충돌하기 때문입니다.

해석기 관점에서 를 쿼리하는 경우 A응답에 대한 유효한 옵션은 A이름이 별칭이 아닌 경우 입력된 답변이고, CNAME이름이 별칭인 경우 입력된 답변입니다. 동일한 이름으로 두 가지를 모두 얻는 것은 옵션이 아닙니다(표준에서 허용하고 동작을 정의한 옵션은 아닙니다).

그렇다면 내 DNS 서비스 제공업체는 어떻게 이를 수행할 수 있나요?

나란히 추가 CNAME하고 기록 할 수 있다는 주장이 사실이라고 가정하면 , 해당 서비스에는 뭔가 불분명한 일이 벌어지고 있습니다.A

나는 그것을 두 가지 주요 옵션으로 나눌 것입니다. 더 많은 것을 알지 못하면 귀하의 경우에 어떤 것이 관련되어 있는지 아는 것이 실제로 불가능합니다.

  • 그들의 시스템은 사용자 입력을 직접 사용하는 것이 아니라 어떤 방식으로든 이를 유효한 것으로 변환합니다. 충돌하는 레코드 중 하나를 추가하고 다른 레코드는 추가하지 않을 수도 있고(이는 UI가 다소 좋지 않음을 의미함), 또는 CNAME사용자가 입력한 레코드를 실제로 제공하지 않는 일종의 "CNAME 평면화" 기능을 포함할 수도 있습니다 . 오히려 끝에서 정식 이름의 관련 레코드를 확인하고 별칭 이름에 직접 있는 것처럼 제공합니다(이는 비표준 기능이지만 일부 서비스에서는 "평탄화"하기 위해 이러한 유형의 동적 조회를 구현했습니다 CNAME).
  • 시스템이 손상되어 사용자가 사양에서 허용되지 않는 일관되지 않은 데이터를 추가할 수 있으며 어떤 식으로든 이상한 문제가 발생할 것으로 예상될 수 있습니다(서비스가 중단되거나 서비스가 실제로 일관되지 않은 데이터를 제공하여 문제를 일으킬 수 있음). 리졸버 측). 사용자는 서비스에서 이러한 유형의 파손을 이용하여 발에 총을 쏘게 될 것입니다.

관련 정보