DNS Kayıt Türleri Nelerdir? A, CNAME, MX, TXT ve Diğerleri
DNS kayıt türleri nelerdir, her biri ne işe yarar? A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV ve CAA kayıtları, sık yapılan hatalar ve dig örnekleri.
Yayınlanma: · 6 dk okuma
Bir DNS zone'u, kaynak kayıtlarından oluşan bir listedir. Her kayıt aynı beş parçadan oluşur:
www.example.com. 3600 IN A 192.0.2.10
└── ad └ TTL └sınıf └tür └ veri
Ad sorgulanan şeydir. TTL, çözümleyicinin yanıtı kaç saniye önbellekte tutabileceğini söyler (DNS TTL nedir yazısında ayrıntısı var). Sınıf pratikte hep IN'dir. Tür ise verinin nasıl yorumlanacağını belirler. Bu rehberde gerçekten karşınıza çıkacak DNS kayıt türlerini, kesintiye yol açan kurallarıyla birlikte anlatıyoruz.
DNS kayıt türleri: hızlı başvuru tablosu
| Tür | Ne işe yarar | Örnek veri |
|---|---|---|
A |
IPv4 adresi | 192.0.2.10 |
AAAA |
IPv6 adresi | 2001:db8::10 |
CNAME |
başka bir ada takma ad | shop.hosting.example. |
MX |
alan adının posta sunucuları | 10 mx1.mail.example. |
TXT |
serbest metin: SPF, DKIM, DMARC, doğrulamalar | "v=spf1 -all" |
NS |
zone'dan sorumlu nameserver'lar | ns1.dns.example. |
SOA |
zone üst bilgisi, her zone'da bir tane | seri no, zamanlayıcılar |
PTR |
ters sorgu: adresten ada | mail.example.com. |
SRV |
bir hizmetin sunucusu ve portu | 10 5 5060 sip.example.com. |
CAA |
hangi CA sertifika verebilir | 0 issue "ca.example" |
DS, DNSKEY, RRSIG |
DNSSEC | anahtarlar ve imzalar |
HTTPS, SVCB |
HTTPS için hizmet parametreleri | 1 . alpn="h2,h3" |
A ve AAAA kaydı: adresler
A kaydı bir adı IPv4 adresine, AAAA kaydı IPv6 adresine bağlar. Bir adın birden fazla A ya da AAAA kaydı olabilir; çözümleyici hepsini döndürür, istemci birini seçer. Bu kaba bir yük dağıtımı sağlar ama garantili bir yedeklilik sağlamaz.
$ dig +short www.example.com A
192.0.2.10
$ dig +short www.example.com AAAA
2001:db8::10
AAAA kaydını yalnızca sunucu IPv6 üzerinden gerçekten yanıt veriyorsa yayınlayın. Bozuk bir IPv6 yolu, site "sizde çalışırken" bazı kullanıcılar için yavaşlamasına ya da hiç açılmamasına neden olur.
CNAME kaydı ve iki kuralı
CNAME, "bu ad bir takma addır, onun yerine şu adı sorgula" der. Çözümleyici sorguya hedef adla yeniden başlar.
shop.example.com. 3600 IN CNAME stores.hosting.example.
Şu iki kural sağlayıcıların tercihi değil, DNS standartlarının gereğidir:
- CNAME bulunan bir adda başka kayıt olamaz. Ne
MXneTXT(DNSSEC kayıtları hariç). - Dolayısıyla kök alan adında (apex) CNAME olmaz.
example.comadının kendisiSOAveNSkayıtlarını taşımak zorundadır, bu yüzden CNAME olamaz.
Sağlayıcılar ikinci kuralı "ALIAS", "ANAME" ya da "CNAME flattening" adlarıyla aşar: DNS sağlayıcısı hedefi kendisi çözümler ve A/AAAA olarak yanıtlar. İşe yarar, ama bu bir kayıt türü değil sağlayıcı özelliğidir; bu özelliği olmayan bir sağlayıcıya zone aktardığınızda kaybolur.
Diğer öneriler: MX ve NS kayıtlarını CNAME olan bir ada yöneltmeyin, uzun CNAME zincirlerinden kaçının. Her halka fazladan bir sorgu ve fazladan bir arıza noktasıdır.
MX kaydı: posta nereye gider
MX kayıtları alan adı için e-posta kabul eden sunucuları öncelik numarasıyla birlikte verir. Küçük numara önce denenir; eşit numaralar yükü paylaşır.
example.com. 3600 IN MX 10 mx1.mail.example.
example.com. 3600 IN MX 20 mx2.mail.example.
Hedef, A/AAAA kaydı olan bir sunucu adı olmalıdır: IP adresi olamaz, CNAME olamaz. Alan adında hiç MX yoksa gönderenler alan adının A kaydına düşer; bu da nadiren istediğiniz şeydir. Hiç posta almayan bir alan adı bunu "null MX" ile açıkça belirtebilir: 0 .
MX ve TXT üzerine kurulan SPF, DKIM ve DMARC ise başlı başına bir konudur.
TXT kaydı: üzerine kurallar inşa edilmiş metin
TXT kaydı serbest metin taşır. Asıl önemi, üzerine kurulan kullanım biçimlerinden gelir:
- SPF, alan adının kendisinde:
"v=spf1 include:_spf.mail.example -all". Bir adda tam olarak bir SPF kaydı olur; iki tane olması kalıcı hatadır. - DKIM,
selector._domainkey.example.comadında. - DMARC,
_dmarc.example.comadında. - Arama konsolları, SaaS araçları ve sertifika doğrulaması için sahiplik doğrulama metinleri.
Bir TXT kaydındaki tek bir dizgi en fazla 255 bayt olabilir. Daha uzun değerler (tipik örnek 2048 bit DKIM anahtarları) aynı kaydın içinde birkaç tırnaklı dizgiye bölünür; okuyan taraf bunları arada hiçbir şey olmadan birleştirir:
sel1._domainkey IN TXT ( "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."
"...AQ8AMIIBCgKCAQEA" )
Çoğu panel bölmeyi sizin yerinize yapar. Elle bölüyorsanız birleşme noktasına boşluk koymayın.
NS ve SOA kaydı: zone'un iskeleti
NS kayıtları yetkili nameserver'ları listeler. İki yerde bulunur: üst zone'da (delegasyon; kayıt firmanızdan değiştirilir) ve kendi zone'unuzda. İki liste aynı olmalıdır. Bir alt alan adına yazılan NS kayıtları o alt alan adını başka sunuculara devreder.
SOA, her zone'un tepesindeki tek kayıttır:
example.com. 3600 IN SOA ns1.dns.example. hostmaster.example.com. (
2026092001 ; seri no
7200 ; refresh
3600 ; retry
1209600 ; expire
300 ) ; negatif önbellek TTL'i
Seri numarası, ikincil sunuculara zone'un değiştiğini bildirir. Çoğu kişinin gözden kaçırdığı alan sonuncusudur: çözümleyicilerin "bu ad yok" yanıtını ne kadar süre önbellekte tutacağını belirler. Birisi sorguladıktan bir dakika sonra oluşturduğunuz kaydın bir süre görünmemesinin nedeni budur.
NS kayıtlarını taşımak başlı başına bir iştir ve kendi planını gerektirir.
PTR kaydı: ters sorgu
PTR kaydı bir adresi ada çevirir. Özel bir zone'da (IPv4 için in-addr.arpa, IPv6 için ip6.arpa) durur ve bu zone'u IP bloğunun sahibi, yani normalde barındırma firmanız ya da internet sağlayıcınız yönetir. Kendi alan adınızın zone'una PTR yazmanın bir etkisi olmaz.
$ dig +short -x 192.0.2.25
mail.example.com.
En çok posta sunucuları için önemlidir. Ayrıntılar: reverse DNS (PTR) kaydı nedir.
SRV kaydı: portuyla birlikte hizmet
SRV kaydı, bir hizmetin sunucusunu ve portunu _hizmet._protokol.ad biçimindeki bir ad altında bildirir:
_sip._tcp.example.com. 3600 IN SRV 10 60 5060 sip1.example.com.
; öncelik ağırlık port hedef
SIP, XMPP, Matrix, bazı Microsoft hizmetleri ve benzerleri kullanır. Tarayıcılar web siteleri için SRV'ye bakmaz.
CAA kaydı: kim sertifika verebilir
CAA, alan adı için sertifika düzenlemeye yetkili sertifika otoritelerini listeler. Herkese açık her CA, sertifika vermeden önce bu kayda bakmak zorundadır.
example.com. IN CAA 0 issue "ca.example"
example.com. IN CAA 0 issuewild ";"
CAA kaydı yoksa her CA sertifika verebilir. Devamı: CAA kaydı nedir.
DNSSEC kayıtları
DNSKEY zone'un açık anahtarlarını, RRSIG her kayıt kümesinin imzasını taşır; NSEC/NSEC3 bir adın var olmadığını kanıtlar; üst zone'daki DS ise alt zone'un anahtarını güven zincirine bağlar. DS dışındakileri DNS sağlayıcınız üretir; DS kaydını kayıt firması üzerinden siz (ya da sağlayıcınız) iletirsiniz.
HTTPS ve SVCB
HTTPS kaydı (SVCB'nin özel bir biçimi), tarayıcının daha DNS yanıtında sitenin HTTP/2 ya da HTTP/3 desteklediğini, hangi adreslerin kullanılacağını ve isteğe bağlı olarak bir takma ad hedefini (kök alan adında bile) öğrenmesini sağlar. Büyük CDN'ler bunu otomatik yayınlar. Elle yazmanız pek gerekmez ama sorgularda görürsünüz:
$ dig +short example.com HTTPS
1 . alpn="h2,h3"
ANY sorgusu neden işe yaramıyor?
dig example.com ANY eskiden sunucunun elindeki her şeyi döndürürdü. ANY, yükseltme (amplification) saldırılarında kötüye kullanıldığı için bugün birçok sunucu asgari bir yanıtla karşılık veriyor. Bir zone'un kayıtlarını görmek için ilgilendiğiniz her türü ayrı sorgulayın. Bir zone'daki tüm adları listeleyen herkese açık bir sorgu yoktur; zone transferi (AXFR) yalnızca yetkili ikincil sunuculara açıktır.
Sık yapılan hatalar
- Kök alan adına CNAME yazmak ya da aynı adda CNAME ile MX/TXT'yi bir arada tutmak.
- MX'i bir IP adresine ya da CNAME'e yöneltmek.
- Aynı adda iki SPF TXT kaydı.
- Zone dosyasında sondaki noktayı unutmak;
mx1.mail.exampleyazdığınız şeymx1.mail.example.example.com.olur. Paneller noktayı bekleyip beklememe konusunda farklı davranır; sonucudigile kontrol edin. - IPv6'sı çalışmayan sunucu için
AAAAkaydı. - Kaydı
wwwadında oluşturup çıplak alan adının da onu izlemesini beklemek (ya da tersi). Bunlar farklı adlardır. - Yeni kayıt "görünmüyor" diye uğraşırken negatif önbellek TTL'ini unutmak.
OrbitProbe ile kontrol edin
OrbitProbe DNS sorgulama aracı bir ad için A, AAAA, CNAME, MX, TXT, NS, SOA ve CAA kayıtlarını tek seferde sorgular ve her yanıtın TTL değerini gösterir; böylece yayınlanan ile niyet ettiğinizi karşılaştırabilirsiniz. Çıplak alan adı ile www için ayrı ayrı sorgulayın; ikisi ayrı adlardır ve kayıtları da ayrıdır.