Birden Çok CNAME'ye sahip olmak


11

Tarihsel nedenlerden dolayı 5 düzeyli CNAME içeren DNS alan adımız var. Bazı şeyler yüksek kullanılabilirlik vb için dış kaynak var ama burada nokta değil. Benim sorum 5 CNAME DNS çözümleyicisi için bir overkill sahip mi? Farklı DNS alanlarına işaret eden 2-3'den fazla iç içe CNAME içeren ünlü bir web sitesi bulamadım.

CNAME atlamalarımız şu şekildedir: (Ben sadece örnek olarak xyz kullanıyorum)

www.xyz.com -> xyz.akadns.net -> xyz.worldwide.akadns.net -> xyz.cedexis.net -> xyz.msedge.net -> host1.msedge.net (son A \ AAAA kaydı)

Http://check-host.net/check-dns?host=www.xyz.com adresini DNS'imizi test etmek için kullandığım halde, birçok müşterinin web sitesi için DNS çözümleme sorunları hakkında şikayet ettiğini görüyorum. çözüm.

Her zaman dünya çapında iyi çalışıyor gibi görünüyor. Benim sonucum, çoğunlukla yukarıdaki ISP'lerden biri çözülemediğinde Yerel ISS sağlayıcılarının DNS çözümleyicisinin berbat olmasıdır. nslookup bu istemci bilgisayarlarda yalnızca web sitemiz için ve bu çok fazla başarısız oluyor.

Bu tür çok seviyeli CNAME genel olarak kötü bir tasarım mıdır?


1
Akamai için birkaç yıl önce çalıştım ve müşterilerimizden biri, belirli bir yönlendiricinin 5 yuvalama sorunuyla ilgili bir sorun yaşadığını bildirdi. Yönlendirici ürün yazılımının sonunda düzeltildiğini düşünüyorum.
Barmar

Yanıtlar:


15

Bu tür çok seviyeli CNAME genel olarak kötü bir tasarım mıdır?

CNAME - CNAME zincirleri yasak değildir, ancak daha önce deneyimlediğiniz gibi çok sağlam bir çözüm değildir.

Her ek CNAME, çözümleyici için özyineleme derinliğini artırır ve bu derinlik her zaman sınırsız değildir. Ayrıca döngü oluşturma veya döngü algılama algoritmasını tetikleme riskini de taşırsınız.

Kullanıcı ad sunucunuzun kaç tane ve hangi sorgunun yapması gerektiği konusunda bir fikir edinmek için bir DNS izlemesi çalıştırın:

dig +trace www.example.com 

veya Windows'ta

nslookup -debug www.example.com

11

HBrujin doğrudur, ancak gerçekte özyineleme derinliği size her şeyin dig +tracegöstereceğinden çok daha kötüdür . Özyineleme derinliği, sık sık küçülen ve aşırı önemsiz hale gelen bir şeydir, ancak bu insanlar sadece ~ 5 CNAMEkaydı çözmediğinizi unutur . Bunun nedeni, bir CNAMEkaydın hedefinin çözülmesinin, yoldaki her ad sunucusuna bakma ihtiyacı yaratmasıdır , bu da genellikle ilk bakışta görünenlerden çok daha fazladır.

Does CNAMEhedef başka bir etki yaşıyor? Sadece NSkayıt aramaları değil, aynı zamanda A(AAA)tutkalın olmadığı aramaları da gerektiren ad sunucularına geri dönmeniz gerekir . İsim sunucularından mı bu ad sunucularını farklı bir üst düzey alan adı yaşıyor? Eğer bu TLD'ler isim sunucularını paylaşmıyorsa, tutkal kayıtları dahil edilmeyecek ve diğer TLD'nin isim sunucuları aracılığıyla da geri ödeme yapmanız gerekebilir. Ve bunun gibi.

CNAMEZincire eklenen her kayıt, yinelenmesi gereken ad sunucularının sayısına bağlı olarak gereken arama sayısına katlanarak eklenebilir. Bu CNAME+ NS+ A(AAA)kayıt aramaları zincirleri delicesine kıvrımlı hale gelebilir ve boş bir önbellekte 150'den fazla seviyeye ulaşabilir. Burası, özyineleme derinliği sınırlarının aşırı derecede iğrenç hale gelebileceği ve alan adınızı boş bir önbellekte aramak için geçici başarısızlıklara neden olabileceği ve genellikle hemen görünmeyen nedenlerden kaynaklanabileceği yerdir.

Kısacası, bunu yapabilirsiniz, ancak dikkatli olun ve bu doğanın geri bildirimini ciddiye alın. İnternetteki özyinelemeli DNS sunucularının ne sıklıkta yeniden başlatıldığı veya temizleneceği konusunda hiçbir denetiminiz yoktur.


İstemci yazılımım, uzak http çağrıları yapan bir grup makinede oturuyor. Çözümleyicideki özyineleme derinliği \ yükünü azaltarak istemciden tüm CNAME'leri yeniden denemek adil olur mu? Bu iyi bir yaklaşım mı yoksa bir şey mi kaçırıyorum? CNAME'lerin coğrafyalarda değişmeyeceğini biliyorum.
Vishal Naidu

İyi bir yaklaşım değil. Genellikle verileri arayamayan sunucu hatayı geçici olarak önbelleğe alır. Sorgu gelecekte tekrar başarılı olabilir (örneğin, 5 dakika sonra), ancak hemen yeniden denemede başarılı olma olasılığı düşüktür. DNS kaydınızın adını verirseniz, bunun gerçekten bir özyineleme derinliği sorunu mu yoksa daha az belirgin bir şey mi olduğunu size bildirebilirim. Yanlış tavşan deliğinden aşağı inmekten nefret ederim.
Andrew B

0

Çok seviyeli CNAMEs pratikte genellikle kullanışlıdır. Her yönlendirme düzeyi, potansiyel olarak farklı bir yönetim bölgesinde veya tamamen farklı bir kuruluşta bir denetim düzeyi sağlar. Bu teknik olarak neredeyse hiç gerekli olmasa da, örgütsel sorunlar üzerinde çalışabilir .

Diğer milletlerin belirttiği gibi, bu zorluklara neden olabilir, ancak bunlar ele alınabilir:

  • tüm DNS sunucularını izleyin . Belki biri arızalı. Dış sunucuları ve kendi sunucularınızı izleyin. Bir sorunu Akamai'ye veya diğer satıcılara bildirmeniz gerekebilir.

  • TTLs önbelleğe alma ama uygulamanız için yeterince hızlı trafik kayması anlamına düşük yeterince izin verecek yüksek yeterince ayarlanmalıdır


2
İzleme önerisini anladığımdan emin değilim. Özyineleme derinliği sınırları yalnızca üründen ürüne değişmekle kalmaz, aynı zamanda bunları izlemeyi de önerirsiniz? Başkasının özyinelemesi için temel nedeni kolayca belirleyemezsiniz.
Andrew B
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.