DNS: Hem MX Kaydı hem de CNAME Gerektiren Alt Alan Adları


17

Diyelim ki mywebservice.com bölgesine sahibiz.

Müşterilerimin her birinin customer.mywebservice.com gibi kendi alt alan adlarını almasını istiyorum.

customer.mywebservice.com sitesinin belirli bir sunucuya CNAME olması gerekir. Bu site kendi ekipmanını yönettiği ve herhangi bir zamanda adresleri değiştirebildiği için CNAME bir gerekliliktir.

İnsanlar ayrıca basit bir MX kaydı gerektiren inbox@customer.mywebservice.com adresine e-posta gönderebilmelidir.

Ancak, burada bazı rehberlik istiyorum:

RFC 1034'e göre :

If a CNAME RR is present at a node, no other data should be
present; this ensures that the data for a canonical name and its aliases
cannot be different.

Ayrıca, DNS sunucumun bunları kullanan ana bilgisayarlar için CNAME dışında bir şey sunmayı reddedeceğini doğruladım.

Görünüşe göre kaybedecek bir durumum olabilir. MX kaydını kullanmak istersem, CNAME yerine A kullanmam gerekir.

Herkes herhangi bir geçici çözüm düşünebilir mi? Teşekkürler!

Yanıtlar:


20

Ne yazık ki, karşılaştığınız şey DNS spesifikasyonunun bir sınırlamasıdır. CNAME kaydı olarak tanımlanan aynı ana bilgisayar adı için bir MX kaydına sahip olmak çoğu DNS sunucusu uygulamasında başarısız olur. Bazı eski DNS sunucuları buna izin verir, ancak çoğunlukla daha yeni ve daha güvenli uygulamalar lehine kaldırılırlar.

CNAME kayıtlarını kullanmak yerine, adları yumuşatmak yerine doğrudan müşteri sitelerinin IP adresleriyle 'A' kayıtlarını kullanmanız gerekir.


Evet, sanırım bununla yüzleşeceğim. Teşekkürler!
Michael Gorsuch

2
Ayrıca, bunu yolda okuyanlar için, bu sınırlamanın sebebinin bir CNAME'nin aranan ana bilgisayar için "kanonik ad" anlamına gelmesi gerektiğine dikkat etmeliyim. Örneğin, x1.example.com'u işaret eden bir CNAME kaydı olan bir ana makineniz x2.example.com'unuz varsa, x2'yi arayan herhangi bir çözümleyici CNAME'yi görmeli, x2 için ne yaparsa onu x1 ile değiştirmeli ve baştan başlamalıdır. . CNAME'ye ek olarak x2 için bir MX kaydınız varsa, x1'in de bir MX'si varsa, farklı olma şansları vardır, bu istenmeyen bir durumdur, bu yüzden sadece izin vermezler.
Justin Scott

18

Burada çok fazla çalışma ve araştırma yaptıktan sonra kabul edilebilir bir çözüm buldum. İlk olarak, hepimizin RFC'leri takip etmesi önemlidir. DNS sunucumu RFC'yi ihlal edecek şekilde yamaladım ve diğer birkaç büyük DNS sunucusunun değişikliğe saygı duymayacağını keşfettim.

Uygun adım, MX'i CNAME'nin işaret ettiği ana bilgisayara yerleştirmektir. Bu nedenle, customer.mywebservice.com A kaydı loadbalancer.mywebservice.com için bir CNAME ise, loadbalancer.mywebservice.com için bir MX kaydı oluşturmak da uygundur. Bunun tüm büyük çözümleyicilerle çalıştığını doğruladım.

Customer.mywebservice.com için bir MX sorgusu yapılırsa, çözümleyici kitaplığı CNAME'yi izler ve son A kaydı için uygun MX'i alır. Yaşa!


4

customer.mywebservice.com sitesinin belirli bir sunucuya CNAME olması gerekir. Bu site kendi ekipmanını yönettiği ve herhangi bir zamanda adresleri değiştirebildiği için CNAME bir gerekliliktir.

Herkes herhangi bir geçici çözüm düşünebilir mi? Teşekkürler!

Müşterilerin adresi değiştirebilmeleri için bir gereksiniminiz var, müşterinin kendi kayıtlarını dinamik olarak güncellemesine izin vermeyi düşündünüz mü? Dinamik dns ile A kaydını kullanabilirsiniz ve müşteri kaydı gerektiği gibi değiştirebilir. Biraz iş ister, ancak her bir alt etki alanını ayrı bir bölge olarak kullanabilirsiniz, böylece bir müşterinin yalnızca kendi bölgelerine dokunabileceğinden emin olabilirsiniz.

Denemedim ama gnudip , kimlik doğrulamasıyla uğraşmadan ve DNS sunucunuzda çok sayıda bölge kurmadan dinamik güncellemeleri kolaylaştırmak için açık kaynaklı bir araç gibi görünüyor.


3

MX kayıtlarınız bu kayıtların tümü için aynı olacaksa, XYZ.mywebservice.com adresini hosting.mywebservice.com adresine yönlendirmek için bir DNAME kullanmayı deneyebilirsiniz. Hosting.mywebservice.com altında ilgili MX ve A kayıtlarınızı ekleyin.

Üretimde DNAME kayıtlarını hiç kullanmadığımı söylemeliyim, ancak RFC2672'de bunlarla ilgili daha fazla bilgi edinebilirsiniz .


Bazı SSL alanlarımızla DNAME kullanmayı denemek istedim, ancak eski DNS sunucuları vb. İle ilgili hala sorunlar olduğunu duydum. Yoksa DNAME'nin üretim sunucularında kullanımı güvenli midir?
drybjed

Tahmin etmeliydim, birçok uygulama DNAME kayıtlarını beklemiyor ve muhtemelen bunları kullanırken bozulmuyor. MX kayıtlarını aramak için tüm posta sunucuları DNAME'leri takip ediyor mu? Bilmiyorum, ama yapmalılar. SSL sorununuz için DNAME'yi anlamayan DNS sunucularının yerine bir CNAME başvurusu almalıdır. Bunu uygulamadan önce iyice test ederdim.
Doug Luxem

Uygulama kesinlikle DNAME kayıtlarını işlemek zorunda DEĞİLDİR! Yalnızca ad sunucularında yapılır.
bortzmeyer

3

Customer.mywebservice.com CNAME ürününün RHS'sinde MX girişi var mı?

Öyleyse, posta sunucusu kullanılacak MX sunucusunu bulmak için bu MX'i kullanır. Umarım bunu kontrol edebilirsiniz.


1

Michael Gorsuch'un cevabı büyük ölçüde doğru, CNAME -> A + MX zinciri işe yarıyor ... çoğunlukla . Ancak, bazı MTA'larda bazı kötü davranışları tetikler. Bu çözümü iyi bir ölçekte çalıştırırken bulduğum şey:

  • bazı MTA'lar kaydı bulmayı reddedecektir.
  • diğerleri, CNAME'nin olması gereken A kaydını yanlış bir şekilde değiştirir: yani, MX.example.com adresine sahip web.example.com'a CNAMES olan "joe@foo.example.com" adresine posta gönderdim ve MTA zarf başlığını "Kime: joe@web.example.com" olarak yeniden yazar.

Bu sorunların ne kadar yaygın olduğu henüz belli değil (google / hotmail / yahoo / vb.


2
Doğru; RFC5321 uyumlu SMTP sunucuları için belgelenen davranış ilk olarak etki alanı için bir MX kaydının olup olmadığını ve başarısız olursa bir A kaydının olup olmadığını kontrol etmektir. Bu davranış, MX'in CNAME olmaması için gerçek, teknik nedendir: ilk kullanılabilir yanıttan sonra çözülmeyi durduracaktır.
adaptr

0

Olası ve geçerli bir çözüm, tüm müşterileriniz için temel bir ana bilgisayar adı oluşturmak ve site dışı web sunucusunun ve mx'inizin a ve aaaa kaydına, ardından tüm müşterilerinizin etki alanını bu tek ana bilgisayar adına CNAME olarak ayarlamak olacaktır. Bu şekilde, site dışındaki IP adresi değiştiğinde yalnızca bir kaydı değiştirmeniz gerekecektir.

CNAME sadece bir kayıt değil, tam bir kayıt kümesi için bir takma ad olduğundan, tek değerleme ve olası yol budur.


-4

MX ve CNAME tamamen ayrı kayıtlardır - birincisi belirli bir alanın posta sunucusunu belirler, ikincisi bir alanın adresini verir. Bu çalışmalı:

@ IN SOA ns1.mywebservice.com. root.mywebservice.com. (
                        2009060201
                        12h
                        1h
                        1w
                        8h
)

                        NS ns1.mywebservice.com.
                        NS ns2.mywebservice.com.

müşteri CNAME offsite.host.
müşteri MX 10 posta. sunucu.

4
Bu işe yarayabilir, ancak başka hiçbir kaynak kaydının CNAME ile aynı ada sahip olamayacağını belirten RFC1034 ve RFC1219'u ihlal eder.
Doug Luxem

DNS arka plan programım RFC katıdır ve MX için yanıt göndermeyi reddeder. Bunu yerine koyarsak müşteri tarafında bazı potansiyel önbellekleme sorunları olduğuna inanıyorum.
Michael Gorsuch

Hangi DNS arka plan programı? Bu yapılandırma ile sorunsuz çalışması gereken BIND9 kullanıyorum. Belki yükseltme zamanı? Büyük altyapı, sanırım?
drybjed

MyDNS kullanıyorum. Oldukça geniş bir konfigürasyon ve bu küçük daemon bu noktaya kadar bir nimet oldu. Yama yapmayı düşünüyorum, ancak doğuran yan etkilerle uğraşmakla ilgilenmiyorum. RFC'ye karşı gelirse, kötü bir fikir gibi geliyor.
Michael Gorsuch

@Maciej - tabii, senin yetkili sunucu olabilir bu kayıtları ev sahipliği yapmaya muktedir. Ancak onları sorgulayan özyinelemeli sunucuların çoğunu cehenneme karıştırırlar.
Alnitak
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.