CNAME - CNAME zincirine izin veriliyor mu?


68

DNS'de başka bir CNAME kaydına işaret eden bir CNAME kaydına sahip olmasına izin veriliyor mu?

Buna ihtiyacımızın nedeni, web sunucu bilgisayarımızın IP adresine bakmak istediğimiz bir ana bilgisayar adına sahip olmamızdır. Ayrıca, birincisinin ölmesi durumunda aktif hale getirilebilecek başka bir web sunucusu bilgisayarımız da var. Böyle bir durumda, ana bilgisayar adını, hazırda bekletilen web sunucusu bilgisayarının IP adresine yönlendirmemiz gerekir.

Maalesef, ana bilgisayar adı, diğer sistemlere bağlı olarak manüel işlem nedeniyle herhangi bir değişikliğin uzun zaman alacağı bir DNS etki alanında bulunur. Ancak değişiklikleri kendimiz hızlı bir şekilde gerçekleştirebileceğimiz başka bir DNS alanımız var. CNAME'nin CNAME zincirine sahip olması olası bir çözüm gibi görünüyor. Fakat buna izin var mı? Web tarayıcıları anlayacak mı?

Yanıtlar:


81

Gönderen Alan adlarında - - RFC 1034 kavramlar ve tesisleri :

RR'lerdeki başka bir adı gösteren etki alanı adları, takma adı değil her zaman birincil adı göstermelidir. Bu, bilgiye erişimde fazladan yüklemeleri önler. Örneğin, yukarıdaki ana bilgisayar için RR adını veren adres şöyle olmalıdır:

52.0.0.10.IN-ADDR.ARPA  IN      PTR     C.ISI.EDU

USC-ISIC.ARPA'ya işaret etmek yerine. Elbette, sağlamlık ilkesine göre, alan yazılımı CNAME zincirleri veya halkaları ile sunulduğunda başarısız olmamalıdır; CNAME zincirleri izlenmeli ve CNAME döngülerinin bir hata olduğu bildirildi.

Bu yüzden evet, izin verilir ve düzgün bir şekilde yazılmış yazılımlar tamamıyla halledecektir. CNAME zincirleri bununla birlikte iyi bir uygulama olarak görülmüyor ve altyapıya genel bir yük getiriyor.


3
RFC referansı için +1
Alnitak

16
Bunu her zaman yapmama rağmen, yukarıdaki alıntı bağlam dışında. Bu paragrafın hemen üzerinde okur ..Domain names in RRs which point at another name should always point at the primary name and not the alias. This avoids extra indirections in accessing information.
Molomby

3
Microsoft Azure ağ oluşturma görevlisi tarafından belirtilen CNAME zincirlemesi, onlar için AnyCast yükleme dengelemesi yapmak için önemlidir.
Paul Lan

26

Elbette mümkün.

Ancak, daha fazla DNS kaynağı kullandığı açık bir nedenden ötürü , genellikle tavsiye edilmez . Örneğin:

foo   IN      CNAME  someserver.somehost.com.
bar   IN      CNAME  foo

'Bar'ı sorgulamak CNAME'in foosorgulanmasına, ardından someserver.somehost.com.sorgulanmasına ve ek bir sorgula sonuçlanmasına neden olur.

Ekleyeceğiniz zincirdeki her eleman için başka bir sorgu gerekecektir.

Bunun cesaretinin kırılmasının bir başka nedeni de , bunun gibi zincirler oluşturarak, bir şekilde CNAME döngüleri yaratma şansınızın artması; bunlar geçerli DNS sunucuları tarafından otomatik olarak algılanmalıdır, ancak yine de sunucular üzerinde büyük bir yük getirmektedir.


5

Evet, izin veriliyor ve çalışacak, ancak iyi uygulama olarak kabul edilmiyor. Çoklu aramalar daha fazla kaynak kullanıyor ve kazara bir döngü yaratma riski var.

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.