IP adreslerini kaydetmek üzere başka bir alana işaret etmek için CNAME kullanma


39

Bir avuç siteyi barındıran bir sunucum var.

Şu anda, her sitenin bağımsız bir sağlayıcı tarafından barındırılan bir alanı var ve her birinin sunucunun IP adresini gösteren bir A kaydı var.

Ancak ileride sunucuyu değiştirmek istersem, her DNS kaydındaki her IP adresini güncellemeye geri dönmem gerekecek.

Doğrudan kontrol ettiğim başka bir alana işaret etmek için her alanda bir CNAME kaydı kullanmak mümkün müdür?

Bu, IP adresini kendim 1 yerde güncelleyebildiğim ve tüm diğer DNS sağlayıcılarını kayıtlarını ayrı ayrı güncellemelerini sağlamak zorunda kalmayacağım?

Yanıtlar:


25

Bu tam olarak bir CNAME'in amacı. Bir CNAME'nin aynı bölgedeki bir DNS'ye işaret etmesi gerekmez, herhangi bir ad sunucusuna kayıtlı herhangi bir DNS adına işaret edebilir.

Müşterileriniz için ne anlama geliyor NS üzerinde diğer ana bilgisayar için ek bir DNS araması, ancak bu, İnternet'teki web sitelerinin çoğu için ödenmesi gereken küçük bir bedeldir.


normalde istemcideki saplama çözücüsünü değil, bu ek aramayı yapacak özyinelemeli sunucudur.
Alnitak

27

Farseeker'in cevabı uyarınca, evet, bu ( CNAMEkayıtların ) ne için olduğudur .

Ancak sen noktasına kullanabilirsiniz iken www.example.netiçin www.example.com, sen olamaz işaret için kullanabilirsiniz example.net(olmadan yani kendi başına wwwbaşka bir şey önek).

Bunun nedeni example.netayrıca bir SOAkayıt ve NSkayıtlara sahip olması ve DNS'de CNAMEağacın diğer bölümleriyle aynı yerde bir hediyeye sahip olmasının yasal olmaması (DNSSEC anahtarları hariç).

Yukarıdaki "sıralama" niteleyicisi, kesin olarak konuşulduğunda, CNAMEkaydın "sol taraf" ı , kaydın hedefi için bir takma ad olarak CNAMEsunduğundan, bu hedefin aslında "kanonik ad" olduğu anlamına gelir.

Dolayısıyla, örneğin:

www.example.net IN CNAME www.example.com.

O edilir değil söyleyerek www.example.netiçin "yönlendirildi" olmalıdır www.example.com, öyle söylüyor www.example.netolduğu için başka bir isim www.example.com .


2
"example.net ayrıca bir SOA kaydına sahip olmalı". Bazı insanlar hile yaparlar: lrnskls.com'a bakın.
bortzmeyer

Bu çok kötü bir saldırı ve DNSSEC'ye imza atmak isterlerse büyük bir problemi olacak.
Alnitak

5
+1 bu iyi bir nokta ve daha büyük hatalardan biri (ve bu siteler için ayrıca bir MX kaydına ihtiyaç duyması nedeniyle sitelerimden hiçbirinin www-az kullanmamasının nedeni).
Oskar Duveborn

3

Evet mümkün.

Bu, dinamik IP'leri de içeren (nadiren de olsa) deneysel web sunucularını böyle yaparım.


0

Her DNS kaydındaki her bir IP adresini güncellemeye geri dönmem gerekecek.

Eh, CNAME'ler gerçekten olası bir çözümdür (Alnitak'ın CNAME'lerin sınırı için verdiği cevaba bakınız) ancak bir tane daha var: bölge dosyalarınızı elle yönetmek yerine, on satırlık bir program oluşturun (Perl / Python / Ruby / cpp / m4). / ne olursa olsun, bölge dosyalarını bir ana bilgisayardan (metin dosyası, XML dosyası, DBMS, ne olursa olsun) oluşturur.

Bu şekilde IP adresiniz yalnızca bir yerde olabilir. Değişince programı tekrar çalıştırın.

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.