DNS A ve NS kaydı


42

DNS'yi biraz daha iyi anlamaya çalışıyorum, ancak hala A ve NS kayıtlarını tam olarak alamıyorum.

Anladığım kadarıyla, A kaydı hangi IP adresinin bir (alt) etki alanına ait olduğunu söyler, o zamana kadar bana hala açıktı. Ancak anladığım gibi, NS kaydı hangi ad sunucusunun puanlarının bir (alt) etki alanına ait olduğunu ve bu ad sunucusunun hangi IP adresinin bir (alt) etki alanına ait olduğunu söylemesi gerektiğini söyler. Ancak bu aynı DNS dosyasındaki A kaydında zaten belirtilmişti. Birisi bana NS’in kayıtlarını ve ad sunucularının tam olarak ne yaptığını açıklayabilir mi, çünkü muhtemelen yanlış bir şey anladım.

düzenleme: Sizi doğru anlayabildiğim gibi, bir NS kaydı size belirli bir etki alanı için A kaydı olan DNS sunucusunu bulduğunuzu ve A kaydı size hangi ip adresinin bir etki alanına ait olduğunu söyler. Fakat aynı DNS dosyasına A ve NS kayıtlarını koymak ne işe yarar? Belirli bir etki alanı için zaten bir A kaydı varsa, neden muhtemelen size aynı bilgileri verecek başka bir DNS sunucusuna işaret etmeniz gerekiyor?


Eski bir soru üzerine kocaları affet, ama ben bir DNS yöneticisiyim ve sorunu yeterince açıklamak için olumlu cevapların hiçbirini düşünmüyorum. Bu soru ile ilişki kurabilirim, çünkü ilk günlerimde kendimle aynı karışıklığı yaşadım. Kendime bir cevap verdim.
Andrew B,

Yanıtlar:


44

Hayali foo.combölge dosyasından bazı örnekler

 ....... SOA record & lots more stuff .......
 foo.com.      IN        NS        ns1.bar.com.

 foo.com.      IN        A         192.168.100.1
 ....... More A/CNAME/AAAA/etc. records .......

A Record = "Ana bilgisayar adı foo.com192.168.100.1 adresinde yaşıyor"
NS Record = "Bölgedeki ana bilgisayarlar hakkında bilgi edinmek istiyorsanız foo.com, ns1.bar.com ad sunucusuna sorun"


3
Foobar referanslarını seviyorum. : D
JohnThePro

2
@Tiddo'nun büyük bir nedeni, bağımlı sunucuların genellikle bölge değişikliklerinden haberdar edilmeleridir çünkü NS kayıtları olarak listelenirler. Ayrıca, yetkili sunucunun ns1.foo.comadresini başka bir şeyi arama sürecinde sorgularsanız ve kayıt orada olmazsa NXDOMAINve Kötü Şeyler olacak (ancak comana sunucuyu sorgulayan kişiler için işe yarayacaktır. Muhtemelen orada tutkal A kayıtları var olurdu)
voretaq7

1
@JohnThePro - diğer seçeneğim example.com idi ve example.com referanslarından nefret ediyorum :-)
voretaq7

3
@ voretaq7 bu nedenle temel olarak NS kayıtları bir yedekleme mekanizması olarak kullanılır ve alan adının ip adresi değiştiğinde bu isim sunucularına haber vermek için kullanılır?
Tiddo

2
@tiddo ve yukarıda ve diğer cevapların çoğunda belirtildiği gibi bir tabela. Unuttuğum NS kayıtlarına bakan başka şeyler olabilir, ama bunlar akla gelen iki büyük kayıt.
voretaq7

18

Bu eski bir soru, ancak bence diğer cevaplar kafa karışıklığının kaynağına gerçekten değmiyor. NStepedeki NSkayıtlar, tepenin altındaki kayıtlardan farklı bir kurallar dizisi izler .

Bu kurallardan, Aaynı adda bir DNS sunucusunda bir kayıt olduğunda ne olacağı konusunda iki farklı davranış türetebiliriz :

  • Eğer NSkayıt bir başvuru tanımlamıyor, diğer veriler aynı bölgede birlikte bunun mevcut olabilir. Sunucu hem NSkayıt hem de kayıt için yetkili olduğunu düşündüğü için A, hiçbir çelişki yoktur. Bu nedenle, diğer veriler genellikle NSbir bölgenin tepesindeki kayıtların yanında yaşar .
  • Eğer NSkayıt yapar sevk tanımlar, daha sonra Akayıt etkili bir şekilde "bir maskeli" bir bölgesi kesilmiş . Bu Akayıt yetkili değildir ve yetkili bir yanıtın cevap bölümünde görünmemelidir. Yönlendirmenin ek bölümünde ortaya çıkan yapıştırıcı verileri olarak potansiyel olarak kullanılabilir , ancak bu kadar.

Kafa karıştırıcı? Evet o. Bunu izlemekte sorun yaşıyorsanız yorumlara bir not bırakın ve ne yapabileceğime bakayım.


APEX ile ne demek istiyorsunuz?
Ryan-Neal Mes,

@ Ryan-Neal NSBölge dosyasının en üstündeki kayıtlar.
Andrew B,

9

NS kayıtları, bu etki alanı adı için DNS hizmetleri sağlayan sunucuları belirtir.

A kayıtları ana bilgisayar adlarını (örneğin www, ftp, mail gibi) bir veya daha fazla IP adresine yönlendirir.


7

a A kaydı bir IP adresini bir isimle eşleştirir. Örneğin

binary.example.com. 192.168.1.42'de

binary.example.com olduğunu belirtir. 192.168.1.42’ye gider

Bir NS kaydı, bir adı başka bir ad sunucusuna, yani bu etki alanına hizmet eden başka bir DNS sunucusuna eşler. "Bu adın IP adresi hakkında hiçbir fikrim yok, ancak oradaki sunucuya sorarsanız, bilebilir"

binary.example.com. NS içinde otherbox.example.com
otherbox.example.com. 192.168.1.2'de

Binary.example.com için yukarıdaki 2 kaydın bulunduğu bir DNS sunucusuna sorarsanız. (veya www.binary.example.com. veya foo.bar.binary.example.com). bu isimleri çevirmek için 192.168.1.2'ye sormanız gerektiğini söyleyecektir (peki ya da dns sunucusu bunu sizin için yapabilir ya da çözülmüş isimlerin önbelleğe alınmasını ve size geri vermesini isteyebilir).


Genellikle, aynı etki alanları için NS ve A kayıtlarını belirten DNS kayıtlarını görürsünüz. Ancak eğer bir NS kaydı A kaydını bulacağını söylerse, o zaman NS kaydının aynı dosyada kullanımı, A kaydı zaten varsa?
Tiddo

Bu benim en sevdiğim açıklama oldu!
Benjamin

6

Alt bölgeyi farklı bir DNS sunucusuna devretmeniz gerekiyorsa, hem NS hem de A kaydının bölgede olması önemlidir.

Örn, bölge bar.com için ns1.bar.com yetkili dns sunucumuz var. Ve foo.bar.com adresini ns1.foo.bar.com adresine devretmeliyiz. Bu yüzden foo.bar.com bölgesini oluşturmalı ve şu kayıtları koymalıyız:

foo.bar.com.     IN NS ns1.foo.bar.com.
ns1.foo.bar.com. IN A  10.10.10.10

Elimizde yoksa bir kayıt delegasyonu çalışmaz. Bu tür kayıt çiftlerine tutkal kayıtları denir.

Tutkal kayıtları, DNS sisteminin kök olmayan bölge için yetkili DNS sunucusunun tam IP'sini bulmasının tek yoludur. Herhangi bir etki alanını NS kaydı için kontrol ediyorsanız digveya wireshark ile trafik dökümü görüyorsanız, cevap olarak "ek" bölüm olduğunu görürsünüz.

;; ANSWER SECTION:
foo.bar.com.             10800   IN      NS      ns1.foo.bar.com.

;; ADDITIONAL SECTION:
ns1.foo.bar.com.         7972    IN      A       10.10.10.10

özyinelemeli isteklerde, örneğin www.foo.bar.com, dns istemciniz foo.bar.com bölgesi için DNS'yi isteyecek ve ns1.foo.bar.com yanıtını alacaktır.

Daha ileriye gitmek için ... ns1.foo.bar.com tarafından sunulan ns1.foo.bar.com adresine bir istek göndermesi gerekir. Döngüyü kesmek için, DNS temsilcisi atanan bu ek bölümü A kaydıyla eklemelisiniz.

Ns1.foo.bar.com sunucusu kendi bölgesinde aynı kayıtlara sahip olmalıdır, bu nedenle foo.bar.com bölgesi için yetkili olabilir.


Tutkal rekorunun açıklamasını görene kadar kafamı tavuk ve yumurta problemine sokmakta zorlanıyordum!
Jon Skarpeteig,

3

NS kayıtları, belirli bir alandan WHICH NAMESERERS'ın sorumlu olduğunu tanımlamak amacıyla SOLELY (Var) 'dır.

Belirli bir makine veya hizmetin "ADRESİ" için bir A kaydı var.

Sizin için örnekler:

DNS Kontrol Panelinizde, bazı NS kayıtlarını göreceksiniz, bunlar NAMESERLERİNİZ veya etki alanınızdaki öğelerin nerede bulunduğunu internete bildirmekten sorumlu birincil makinedir.

NS1.CP.COM NS2.CP.COM

Ayrıca, DNS Panelinizin içinde, bir web sitesi gibi bazı hizmetlere sahip olmanız gereken sahip olduğunuz bir alana (yani. -Mikesfunhouse.com) sahip olacaksınız.

Öyleyse, yapacağınız şey "mikesfunhouse.com" ifadesini "76.19.87.956" (açıkça sahte IP) olarak gösteren Birincil A kaydına sahip olmaktır.

Ardından, "www." Alt alanını yönlendiren bir www kaydı olan başka bir kayıt yapacaksınız. birincil sitenize bölüm.

Kısacası, bir ad alanını bir IP adresine dönüştürmek için A kayıtlarını kullanırsınız.


1

Ad sunucusu kaydı, İnternete hangi DNS sunucusunun A kayıtlarını tuttuğunu söyler; böylece bir alt alan adı için bir A kaydı aramak kabaca şu işlemdir:

Etki alanının ad sunucularına bakın -> Alt etki alanının A Kaydı için ad sunucusunu sorgulayın


Ancak, A kayıtları zaten aynı dosyadaysa, neden NS kayıtlarını belirtmelisiniz?
Tiddo

1
Hepsi aradığın şeyle ilgili. NS kaydı başlangıç ​​noktası gibidir. Bir sunucu daha önce ASLA ASLA etki alanınızı ziyaret etmemişse, önce etki alanınız için NS sunucusunun yanıtını bulur. Bu sunucuyu tanımladıktan sonra, söz konusu alanın A kaydı için sorgulayacaktır.
JohnThePro
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.