DNS-다중 A 레코드 또는 1 A 레코드 및 많은 CNAME?


29

'www'라는 웹 서버가 있다고 가정 해 봅시다. www.example.com은 해당 시스템의 IP 주소로 확인됩니다. 그런 다음 webmail.example.com과 같은 가상 호스트와 이에 대한 DNS 레코드를 만들고 싶습니다.

'웹 메일'의 경우 www의 IP 주소로 A 레코드를 작성해야합니까, 아니면 www에 CNAME을 수행해야합니까?

'깨끗한가? 더 강력합니까? 보다 나은?

답변:


26

이 질문에 대한 두 가지 대안적인 견해가 있으며, 궁극적으로 영원히 논의 될 것입니다. 나는 (나 자신을 찢었 기 때문에) 내 의견을 말하지 않을 것이지만, 일반적으로 각 방법에 대한 일반적인 주장은 다음과 같습니다.

  • 실제 머신에 대한 A 레코드를 정의한 다음 해당 머신에 CNAME 서비스를 정의해야합니다. 이를 통해 무엇이 무엇인지 명확하게 알 수 있으며 번호를 다시 매길 필요가있는 경우 변경해야 할 레코드가 많지 않고 컴퓨터 레코드 만 있습니다. 반면, DNS 조회로드가 다소 증가하고 "보조"IP (SSL 가상 호스트 생각)는이 모델에 잘 맞지 않습니다.

  • "정식 이름"(CNAME)의 문자 적 ​​의미는 동일한 이름의 엄격한 별명 (생각 mailsmtp) 을 정의 하는 것입니다. 동일한 시스템에서 여러 서비스를 실행하는 경우 DNS에 대한로드가 줄어들 기 때문에 모두 A 레코드가 있어야합니다. 일부 서비스 (NS 레코드 및 MX 레코드)는 실제로 CNAME을 처리하는 데 큰 영향을 미치지 않으므로 이러한 서비스를 다르게 처리해야하는 경우 모든 서비스를 수행 할 수 있습니다.


12
실제로 MX를 CNAME으로 지정하여 DNS 서버를 심각하게 망칠 수 있습니다. 나는 왜 지금 오래된 메일 서버 (많은 서버가 있음)가 CNAME을 가리키는 MX를보고 그것을 처리하는 방법을 알지 못하고 계속 찾고 큰 스트레스를 줄지 모르는 이유를 설명 할 필요가 없습니다. 당신의 DNS에 그리고 결국 전자 우편은 어디에도 도착하지 않습니다. MX를 CNAME에 연결하지 마십시오. 이제까지.
Mark Henderson

3
Farseeker에 동의합니다. MX가 작동하더라도 CNAME을 가리 키지 않습니다. 자세한 내용을 보려면 Wikipedia (MX 레코드 검색) 또는 RFC 2181 (섹션 10.3)을 참조하십시오.
Benoit

울리는 +1 그 대답은 또한 나의 견해를 나타냅니다. Farseeker에게 +1 MX 레코드는 예외입니다. Beoot의 참고 자료에 따르면 Wikipedia는 너무 많은 오류와 부정확성이 있으므로 기술 참조로 사용해서는 안됩니다. 거의 모든 사람들이 RFC를 인용하는 것을 좋아하지만 RFC는 표준이 아니라 표준 제안의 선구자라는 것을 기억해야합니다.
John Gardeniers

Benoit의 이름을 잘못 입력해서 죄송합니다. 내가 침대에있을 시간이다.
John Gardeniers

나는 항상 cnames를 사용했다. 제 동료는 여러 개의 레코드를 사용했습니다. cname이 더 좋은 또 하나의 이유 : 어떤 레코드가 ptr 레코드를 얻는 지 쉽게 결정할 수 있습니다. 나는 이것에 관한 세 번째 동료로부터 맥주를 얻었습니다.
dmourati 2016

12

CNAME을 효과적으로 사용하면 DNS 서버에서 조회가 두 배가됩니다. 요청이 CNAME에 맵핑되면 CNAME에 대한 A 레코드를 찾아야합니다.

CNAME이 존재하는 이유가 있습니다. DNS를 훨씬 쉽게 관리 할 수 ​​있으며 하루에 수만 건의 해결 작업을 수행하지 않는 한 중요하지 않습니다.


12

여기에서는 CNAME이 DNS로드를 증가 시킨다고 제안합니다. 이것은 나를 궁금하게했다. wireshark를 시작하고 CNAME 요청을 검사했으며 적어도 우리 환경에서는 결과가 하나의 레코드로 반환되었습니다. Knuth의 격언은 여기에 있습니다 : "조기 최적화는 모든 악의 근원"입니다.

나는 CNAME을 좋아하지만 주로 심리적 효과가 있습니다. 예를 들어 나와 같은 사람들이 서버 이름을 서비스 이름에서 분리하도록 권장합니다.

우리 환경에는 불투명 한 서버 이름에 여러 개의 SSL 인증서가 첨부되어 있습니다. CNAME은 여기서 훨씬 더 잘 작동합니다. 모든 곳에서 서버 이름이 서비스와 밀접하게 결합되어있는 서비스 마이그레이션이 골치 아픈 일이었습니다. CNAME은 명확한 개념적 분리선을 제공합니다.


더 많은 투표가 필요합니다. CNAME 레코드는 일반적으로 결과가 단일 응답으로 묶이므로 필요한 왕복 횟수를 늘리지 않습니다.
Nic

4

내 생각에 가상 호스트가 www.someotherdomain.com이면 자체 DNS 레코드 세트가있는 별도의 도메인으로 취급 할 것입니다 (나중에 분리 해야하는 경우 나중에 더 쉬워집니다). 그러나 블로그 .example.com이라면 CNAME을 사용합니다.

저의 개인적인 취향입니다.



2

CNAME은 개인용 컴퓨터 나 인터넷 연결이 아닌 DNS 시스템의로드를 증가시킵니다. 나는 여기에 어떤 사람들이 대답했을 때 그 점을 구별하지 않았다고 생각합니다.

예를 들어, 주요 트래픽이 많은 레코드 (@ 및 www)에 A 레코드를 사용하십시오. 항상 1 차 레코드의 동일한 IP에 맵핑되는 2 차 레코드에 CNAME을 사용하십시오. 예를 들어 "www.site.com"과 항상 동일한 IP로 확인되는 "member.site.com"도메인이있는 경우 편의상 여기에 CNAME을 사용할 수 있지만 A 레코드를 사용할 수있는 경우 더 빨리 해결됩니다.


고마워, 나는 대답이 명확하다는 것을 알았지 만, 당신의 의견은 이해하기 훨씬 더 간단합니다 :)
karni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.