MX kayıtları neden bir IP adresini gösteremiyor?


89

Anladığını olmamalıdır doğrudan bir IP adresinde bir MX kaydı işaret eder, ancak etmelidir yerine yönlendirin Asırayla, posta sunucusunun IP adresine işaret, kayıt,.

Ancak, prensip olarak, bu neden gerekli?


Bir MX kaydı ayarlayabilirseniz, bir A kaydı da ayarlayabilirsiniz. Sorunu burada göremiyorum.
joshudson,

26
@joshudson Hiç sorun değil, sadece neden diğerlerinin yaptıklarını takip etmek yerine nedenini anlamaya çalışıyorum.
dayuloli,

CloudFlare’de yeni denedim. IP adresini MX kaydı için bir değer olarak kabul etmez.
LinuxBabe

Bir SPF kaydı ekleyene kadar çok umursamadım ve çok fazla arama yaptım. Bazı kesmek için farklı bir yol bulmak zorunda kaldı.
gbryant

Yanıtlar:


90

MX kaydının arkasındaki fikir , bir etki alanı için posta kabul edebilecek bir ana bilgisayar veya ana bilgisayar belirtmektir . RFC 1035'te belirtildiği gibi , MX kaydı bir etki alanı adı içerir. Bu nedenle, DNS'de çözülebilecek bir ana bilgisayarı göstermelidir. Bir IP adresi, çözülemeyen niteliksiz bir alan adı olarak yorumlanacağı için kullanılamadı.

Spesifikasyonların başlangıçta yazıldığı 1980'lerde bunun nedenleri, bugünün sebepleriyle neredeyse aynı: Bir ev sahibi birden fazla ağa bağlanabilir ve çoklu protokoller kullanabilir.

80'lerde, TCP / IP kullanan (nispeten yeni) İnternete ve genellikle diğer protokolleri kullanan diğer eski ağlara bağlanan posta ağ geçitlerine sahip olmak alışılmadık bir durum değildi. MX'yi bu şekilde belirtmek, Chaosnet gibi Internet dışındaki bir ağda böyle bir ana bilgisayara nasıl erişileceğini tanımlayabilen DNS kayıtlarına izin vermiştir . Uygulamada, yine de, bu neredeyse hiç olmadı; neredeyse herkes ağlarını İnternetin bir parçası olmak için yeniden tasarladı.

Bugün, durum, bir ana bilgisayara çoklu protokoller (IPv4 ve IPv6) ve her protokoldeki çoklu IP adresleri ile erişilebilmesidir. Tek bir MX kaydı birden fazla adres listeleyemez, bu nedenle tek seçenek bir ana bilgisayarı işaret etmek, bu ana bilgisayarın tüm adreslerinin daha sonra aranabileceği bir noktaya işaret etmektir. (Bir performans optimizasyonu olarak, DNS sunucusu, onlar için yetkili kayıtlara sahipse, dönüş turu kaydederek, cevap ek bölümünde ana bilgisayar için adres kayıtları boyunca gönderir.)

Posta değiştiricileriniz üçüncü bir tarafça sağlandığında da ortaya çıkan bir durum vardır (örn. Google Apps veya Office 365). MX kayıtlarınızı ana bilgisayar adlarına yönlendirirsiniz, ancak servis sağlayıcının posta sunucularının IP adreslerini değiştirmesi gerekebilir. Bir ana bilgisayarı işaret ettiğiniz için, servis sağlayıcı bunu şeffaf bir şekilde yapabilir ve kayıtlarınızda herhangi bir değişiklik yapmanız gerekmez.


2
Bu gerçekten IP adresleriyle uyumluluğu engellemiyor; Aslında, SMTP sunucularının / istemcilerin çoğu yaptığım küçük testlerden MX kayıtlarındaki IP adresleri ile gayet iyi çalışıyor. Sanırım niyetimiz, endüstrinin IP adreslerini kullanmaktan caydırmaktı - büyük olasılıkla ne olmuş, bu kural belirtilmemişse - durum bazında değil. Bu nedenle, "gerekir" yerine "gerekir". Olsa da, büyük bilgi için +1. Bunun çoğunu hiç düşünmedim.
Zenexer,

16
@Zenexer Trafik yasaları, neyin güvenli olduğunu ve neyin güvenli olmadığını bilen az sayıda uzman sürücünün sıkıntısı çekmiyor. Onlar çünkü lanet salaklar çok daha büyük alt kümesi var düşünmek onlar ne yaptığını biliyor ama yok.
Shadur

7
@Zenexer Belirli bir MTA'nın bugün buna tolerans gösterdiğini ve yarın olmadığını görebilirsiniz. Sonuçta, standart tarafından izin verilen davranış değildir. Ve elbette, tüm MTA'lar bunu desteklemeyecektir, bu nedenle bunu yapmak posta kaybetme garantili olduğunuz anlamına gelir.
Michael Hampton

1
@MichaelHampton: MX kaydı varsa GEREKEN bir IP adresi yerine bir ana makine adı, daha sonra bir MTA GEREKİR bir IP adresi kabul. MX kaydı Varsayımlı, MUTLAKA bir ana makine adı daha sonra bir MTA GEREKEN bir IP adresi kabul. RFC'nin çalışması böyle. Bir "OLMALIDIR" uygulama önerisine karşı olan taraf, tavsiyenin izlendiği varsayımına göre optimize edilebilir, ancak bununla yapabileceğiniz tek şey budur.
MSalters

2
@ MSalters karıştığını düşünüyorum. Ben hiçbir şey söylememeliydim. Gerçekten de, MX kaydının bir ana bilgisayar adı içermesi gerektiğini söyledim, bu aynı zamanda RFC'lerin de söylediği gibi.
Michael Hampton

18

Bir protokol olarak DNS'nin bazı farklı değer türleri vardır, bunlar birbirleriyle değiştirilemez.

DNS'nin, kayıt türü ile bu tür bir kaydın tuttuğu veri türü arasında katı eşlemelere sahip bir ikili protokol olduğunu not etmek önemlidir.

Örneğin:
Bir Akayıt bir IPv4 adresini tutar (4 bayt veri, sabit uzunluk).
Bir AAAAkayıt IPv6 adresini tutar (16 bayt veri, sabit uzunluk).

MXÖte yandan, bir kayıt bir isim tutar (format üzerindeki bir etiket dizisi <int number of bytes> <label> <int number of bytes> <label> <int 0>, değişken uzunluk).

Bir kaydın veri olarak bir IP adresine sahip olması mümkün değildir MX.


Etiketi bir IP adresinin metinsel gösterimi yapabilirsiniz, ancak bir ana bilgisayar adı olarak çözümlenemediğinden bunu yapmak hiç mantıklı olmaz.
Michael Hampton,

@MichaelHampton Nitekim, normal insan dostu sunumda ilk bakışta bir IPv4 adresi gibi görünen tamamen sayısal etiketli bir isme sahip olmak mümkündür. Bununla birlikte, söz konusu olduğunda bir şey değişmiyor, yine de bir isim olacağı ve bu nedenle bir isim gibi ele alınacağı (en azından kamuya açık İnternet'te olacak bir isim NXDOMAIN).
Håkan Lindqvist,

Bu OP'nin sorusuna gerçekten cevap vermiyor. Temelde "çünkü bu şekilde" diyorsunuz .
dr01

@ dr01 Sorunun, “nasıl olduğu” ndan habersiz olduğunu açıkça gösterdiğini göz önünde bulundurarak (doğrudan bir IP adresinde bir MX kaydını işaretlememelisiniz, bunun yerine, aslında bir olasılık olmadığında, bunu bir A kaydına işaret etmelisiniz) Bir isimden başka bir değere sahip olmadıklarını), bence durumların ne olduğunu ve bunun neden başka bir seçeneği imkansız kıldığını belirtmenin uygun olmadığını düşünüyorum. Aslında orada olmayan soruya çok fazla okuduğunuz hissine kapılıyorum.
Håkan Lindqvist

@ dr01 Yani, sorunun, DNS'nin ilk günlerindeki tasarım kararları veya bunun gibi bir şeyle ilgili akademik bir soru olarak okuduğunu düşünmeyin, sadece MXdünyada gerçekten var olan kayıtların nasıl kullanılabileceği veya kullanılması gerektiği hakkında bir soru olarak düşünün .
Håkan Lindqvist

6

Bunu bir tahmin olarak fırlatacağım. Tabii, gripten evdeyim, bu yüzden belki de canım sıkılıyor.

RFC 974 belirtir:

LOCAL'deki postacının ilk adımı REMOTE için MX RR'leri için bir sorgu oluşturmaktır. Bir e-postanın mesajı göndermeye çalıştığı her seferde bu adımın atılması şiddetle tavsiye edilir. Umut, etki alanı veritabanındaki değişikliklerin posta göndericileri tarafından hızlı bir şekilde kullanılması ve bu nedenle etki alanı yöneticilerinin, hatalı etki alanları için yalnızca etki alanı veritabanlarını değiştirerek geçiş sırasında iletileri yeniden yönlendirebilmeleridir.

IP yerine bir ad talep ederek, bu uygulamayı zorla teşvik eder. Adlar aynı kalabilir ve yük dengelemesi veya DR olması durumunda, MX kaydının kendisini değiştirip DNS yayınımı beklemekten endişe duymanıza gerek kalmaz.


8
Gripten bıktığınız gün izinli yığın değiş tokuşiyle ilgili soruları yanıtlayın ... Şapkamı size devrederim, efendim!
Mike B,

3

Bazı e-posta sunucuları (örneğin exim gibi) saf bir IP adresine işaret eden MX kayıtlarına göndermeye özellikle izin vermez, bu nedenle uyumlu olması için FQDN kullanmanız gerekir. Bunun nedeni çoğu sunucunun MX kaydının bir IP değil bir ana bilgisayar adı içermesini beklemesidir (A kayıtları bunun içindir).

Düzenleme: Ayrıntılı olmak için, DNS'de her kaydın, her kaydın tutabileceği veri türü için katı gereksinimleri vardır. MX kayıtları söz konusu olduğunda, yalnızca bir ana bilgisayar adıdır .


Öyleyse neden exim, MX kayıtlarının ilk başta IP adresine işaret etmesine izin vermiyor? Bana garip geliyor! Anladığım kadarıyla kongre yüzünden yapmamalıyım ama neden yasa dışı olduğunu anlamıyorum .
dayuloli,

1
Bir MTA'nın bunu nasıl destekleyebileceğini anlamıyorum, bir MXkayıt muhtemelen değeri olarak bir IP adresine sahip olamaz.
Håkan Lindqvist,

@ HåkanLindqvist Yukarıdaki cevabınız benim için bu noktayı netleştirdi! Teşekkür ederim!
dayuloli,

2

RFC 1025 MX kayıtları, yalnızca bir A Kaydının veya bir CNAME'nin bir RR'sine (kaynak kaydı) işaret eder.

Bu yüzden, posta gönderen posta sunucusu bir MX kaydının RR'sini sorar, mx kaydı A sunucularının listelerini gösterir, posta sunucusu A kaydı almak için ileriye doğru arama yapar ve ardından postayı smtp yoluyla servis sağlayıcısına iletir. bu etki alanı için posta almaya 'istekli' bir posta sunucusu.

Sorunuz - Posta Neden Bir IP Adresine Gönderilemiyor

Yanıt - Güven nedeniyle

Posta ile ilgili yürürlükte olan kuralların birçoğu, ileri ve geri gönderilen iletilerin gerçekte geçerli olduğu alanlar arasında güven sağlamak için gelişti. Bunların hepsi sonuçta SPAM'ı azaltmaktır.

  • IP Aramalarını Ters Çevir
  • Bu konuda bir İleri Adı araması

Bir posta sunucusu kuracak bir vakfın tüm bu temel bileşenleri, güvenilir iletişim oluşturma ve güvenilmeyen iletişimi azaltma konusunda kurulmuş en azından bazı küçük bileşenlere sahiptir.

Referans - RFC 1035 ve 974

https://www.ietf.org/rfc/rfc1035.txt35

https://www.ietf.org/rfc/rfc974.txt


2

Amacı MXkayıtlarının bir olmasıdır uygulama konak hakkında bilgi edinebilirsiniz (posta aktarım) kullanılacak. Uygulama düzeyinde, ana bilgisayar adları kullanılacak doğru şeydir (IP adresleri değil).

Ayrıca, değişken türüne ait kayıtların coneot'sunu DNS'ye eklemek, bir karmaşıklık ve dolayısıyla sorunlara, uygulamada aksaklıklara, güvenlik sorunlarına giriş noktası oluşturur. Örneğin, 1.2.3.4.example.com.geçerli bir ana bilgisayar adıdır (evet, RFC1034, 3.5 ışığında bile). Bu ana bilgisayarı MXbir example gibi bir yapılandırma dosyasında belirtmek , example.com gibi görünebilir

.  MX 10  1.2.3.4

ve muhtemelen bu tam olarak aynıdır ve IP’ye sahip bir MX kaydı gibi görünmelidir. Ve bir informatoini bir DNS datagramında transfer etmek için bile bazı ilginç katkı maddeleri gerekir; En basit yöntem, neticesinde belirsizlik için yeni bir kaynak kayıt türü sunmak olacaktır MXA. Ama sonra tekrar, neden yükü ne zaman yeni bir rekor türü ile karşı karşıya getirelim?

. MXA 10 5.6.7.8

her zaman ile değiştirilebilir

. MX 10 dummy
dummy A 5.6.7.8

(ve MXAkayıtları bilmeyen DNS müşterileri tarafından da desteklenir )?

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.