DNS - Birden çok A kaydı veya 1 A kaydı ve çok fazla CNAME var mı?


29

Diyelim ki 'www' adında bir web sunucum var. www.example.com, o makinenin IP adresini çözer. Sonra bazı sanal konaklar ve onlar için DNS kayıtları yapmak istiyorum, webmail.example.com gibi.

'Webmail' için, www'nin IP adresi olan bir A kaydı koymalı mıyım yoksa www için bir CNAME mi yapmalıyım?

Ne temizleyici, daha sağlam mı? daha iyi?

Yanıtlar:


26

Bu sorunun iki alternatif görüşü vardır ve bu sonuçta sonsuza dek tartışılacak olandır. Fikrimi vermeyeceğim (çünkü kendimi parçaladım), ancak genel tartışmaların her biri genellikle:

  • Fiziksel makineleriniz için A kayıtları tanımlamanız ve ardından bu makinelere CNAME hizmetleri vermeniz gerekir. Bu neyin ne olduğunu açıkça ortaya koyar ve yeniden numaralandırmanız gerekmesi durumunda değiştirilecek çok fazla kayıt yoktur - sadece makine kayıtları. Öte yandan, DNS arama yükünüzü biraz artırır ve "yardımcı" IP'ler (SSL vhost'ları düşünür) bu modele tam olarak uymaz.

  • "Kanonik ad" ın (CNAME) değişmez anlamı, aynı adın tam takma adlarını tanımlamaktır (düşün mailve smtp) ve aynı makinede çalışan birden fazla servisiniz varsa hepsinin A kayıtları olması gerekir, çünkü DNS üzerindeki yükü azaltır ve Bazı servisler (NS kayıtları ve daha az ölçüde MX kayıtları), CNAME'lerle uğraşmaktan gerçekten etkilenmedi, bu yüzden bu hizmetleri farklı şekilde ele almak zorunda kalırsanız, her şey için de yapabiliriz.


12
Bir CNAME’ye MX işaretleyerek DNS sunucunuzu ciddi şekilde mahvedebilir / aşırı yükleyebilirsiniz. Şu an neden olduğunu açıklamaktan rahatsız olamam ama eski posta sunucuları (orada bir sürü var) bir CNAME'ye işaret eden bir MX görecek ve bununla nasıl başa çıkacağını bilemeyecek, aramaya devam edecek ve büyük bir stres yaratacak DNS’nizde ve sonunda e-posta hiçbir zaman bir yere ulaşamaz. Bir CNAME'YE NOKTASI MX YAPMAYIN. HİÇ.
Mark Henderson

3
Farseeker’le aynı fikirdeyim, MX’i bir CNAME’ye çalışsa bile gösterme. Tüm ayrıntıları istiyorsanız wikipedia (MX Record arayın) veya RFC 2181 (bölüm 10.3) 'e bakınız.
Benoit

Womble için +1. Bu cevap benim görüşümü de ifade ediyor. +1 'den Farseeker' a. MX kayıtları istisnadır. Beoot'un referanslarına gelince, Wikipedia çok fazla hata ve yanlışlık olduğu için teknik bir referans olarak kullanılmamalıdır. Neredeyse herkes RFC'lerden alıntı yapmaktan hoşlanırken, standart olmadığını, sadece bir standart için teklifin öncüsü olduğunu hatırlamamız gerekir.
John Gardeniers

Benoit'in adının yanlış yazılmasından dolayı özür dilerim. Yatma vaktim geldi.
John Gardeniers

Ben her zaman cnames kullandım. Meslektaşım çoklu kayıt yaklaşımını aldı. Bir sebep daha, cname daha iyidir: Hangi kaydın ptr kaydını alacağına karar vermeyi kolaylaştırır. Bu konuda üçüncü bir meslektaşımdan bira kazandım.
dmourati

12

Bir CNAME kullanmak, DNS sunucusundaki aramaları iki katına çıkarır. Bir istek bir CNAME ile eşlendiğinde, CNAME için A kaydına bakması gerekir.

Bununla birlikte, CNAME'nin varlığının bir nedeni var. DNS'inizi yönetmeyi çok daha kolay hale getirir ve günde onbinlerce karar vermediğiniz sürece önemli olmaz ...


12

Buradaki bazı güvenceler CNAME'lerin DNS yükünü artırdığını gösteriyor. Bu beni meraklandırdı. Wireshark'ı ateşledim, bir CNAME talebini denetledim ve en azından çevremizdeki sonuç tek kayıtla geri döndü. Burada Knuth'un aforizmasını akla getiren: "erken optimizasyon tüm kötülüklerin kökenidir".

CNAME'leri severim, fakat çoğunlukla psikolojik etkileri için. İnsanları (örneğin benim gibi) sunucu adlarını servis adlarından ayırmaya teşvik ederler.

Ortamımızın opak sunucu adlarına (yapmayı bıraktığımız) birkaç SSL sertifikası vardır. CNAME'ler burada daha iyi çalışıyor. Her yerde çalıştığım servislerin taşındığı sunucu isminin sıkıca birleştiği servisten başım ağrıyor. CNAME'ler açık bir kavramsal ayrım çizgisi sağlar.


Bunun daha fazla oyuna ihtiyacı var. CNAME kayıtları genellikle, sonuçlar tek bir yanıtta toplandığı için gereken gidiş dönüş sayısını artırmaz.
Nic

4

Bence, sanal konaklar www.someotherdomain.com ise, onları kendi DNS kayıtları olan ayrı bir alan olarak ele alırdım (ayrılmaları gerekiyorsa daha sonra kolaylaştırır). Onun sadece bununla Eğer blog .example.com, sonra bir CNAME'i kullanmak.

Sadece kişisel tercihim.



2

CNAME'ler kişisel bilgisayarınızda veya internet bağlantınızda değil, DNS sistemindeki yükü artırır. Bence buradaki bazı insanlar cevap verdiğinde bu ayrım yapmıyorlardı.

Örneğin, birincil yüksek trafik kayıtları için (@ ve www) A kayıtları kullanın. Her zaman bir birincil kaydın aynı IP'siyle eşleşecek olan ikincil kayıtlar için CNAME'leri kullanın. Örneğin, her zaman "www.site.com" ile aynı IP’yi çözecek bir "member.site.com" etki alanınız varsa, burada rahatlık için bir CNAME kullanabilirsiniz, ancak A kaydı kullanabilirsiniz. , daha hızlı çözerdi.


Teşekkür ederim, cevabı net buldum, ama yorumunuzu anlamak daha da kolay :)
karni
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.