Eğitimler

DNS kaydı nedir? Örneklerle tüm kayıt türleri için eksiksiz rehber

Site açılmıyorsa veya e-posta gitmiyorsa, sorun genellikle yanlış bir DNS kaydıdır. Burada A, AAAA, CNAME, MX, TXT, SRV ve CAA kayıtlarının tam sözdizimini gerçek örneklerle göreceksiniz.

Eğitimler

Site açılmıyor ve tarayıcı DNS_PROBE_FINISHED_NXDOMAIN diyor. Ya da işlemsel e-postalar spam klasörüne düşüyor ve müşteri "sipariş onay e-postası gelmedi" diyor. Her iki durumda da sunucuya dokunmadan önce hangi DNS kaydını yanlış girdiğinizi anlamanız gerekir. Bu metin, her kaydın tam sözdizimini gerçek örneklerle sunuyor ki sorunu bugün çözebilesiniz.

Her şeyden önce: DNS kaydını hangi araçla görürsünüz

Değişiklikten önce mevcut durumu kaydedin. Bunu yapmazsanız, değişiklikten sonra neyin bozulduğunu bilemezsiniz.

dig +short A example.com
dig +short MX example.com
dig +short TXT example.com @8.8.8.8
dig +trace example.com

dig +trace komutu kökten authoritative sunucuya kadar tüm yolu gösterir ve "kaydı girdim ama uygulanmadı" diye takıldığınızda tek gerçek araç budur. dig kurulu değilse nslookup -type=MX example.com kullanın. Tarayıcıdan hızlı kontrol için de ServerNet'in ücretsiz DNS ve alan adı kontrol araçlarını kullanabilirsiniz.

A ve AAAA kaydı: IPv4 ve IPv6 adresi

A kaydı bir alan adını IPv4 adresine eşler. En basit kayıttır ve en çok hata da burada yapılır.

example.com.      3600  IN  A     185.10.20.30
www.example.com.  3600  IN  A     185.10.20.30

3600 sayısı TTL'dir, saniye cinsinden. Yani çözümleyiciler bir saate kadar önbelleğe alınmış sürümü tutar. Geçişin hızlı uygulanmasını istiyorsanız, değişiklikten 24 saat önce TTL'yi 300'e düşürün, sonra değişikliği yapın ve oturduktan sonra tekrar yükseltin. Burada şu hata yapılır: TTL'yi geçiş anında düşürürler ve sonra bir saate kadar sitenin eski sunucuda çalıştığını görürler. Önceki önbelleği kimse temizlemez.

AAAA kaydı aynı işi IPv6 için yapar. Sunucunuzda IPv6 yoksa AAAA kaydı girmeyin. Dönüş yolu olmayan bir adrese AAAA kaydı girmek, kullanıcıların bir kısmının birkaç saniye gecikmeyle girmesine neden olur; çünkü istemci önce IPv6'yı dener, başarısız olur ve sonra IPv4'e geçer.

CNAME kaydı: takma ad, önemli bir kısıtlamayla

CNAME bir adı IP'ye değil, başka bir ada işaret eder. Asıl kullanımı, dış servise bağlanan alt alan adlarıdır.

shop.example.com.   3600  IN  CNAME  example.myshopify.com.
mail.example.com.   3600  IN  CNAME  mail.provider.net.

Satır sonundaki noktaya dikkat edin: bitiş noktası. Onu atlarsanız, bazı paneller adı göreli yorumlar ve kayıt example.myshopify.com.example.com'a dönüşür. Sonuç NXDOMAIN hatasıdır ve siz dış servisin bozuk olduğunu düşünürsünüz.

CNAME'in gerçek kısıtlaması şudur: apex kaydında (yani alt alan adı olmadan example.com'un kendisinde) standart CNAME koymanıza izin vermez, çünkü MX ve NS ile çakışır. Bazı DNS sağlayıcıları bunu "CNAME flattening" hilesiyle mümkün kılar, ama sonuç artık gerçek bir CNAME değildir; arka planda oluşturulan bir A kaydıdır. Kendi DNS'iniz üzerinde tam kontrolünüz varsa ve ana alan adının bir bulut servisine bağlanmasını istiyorsanız, bu hile işe yarar. Yaramıyorsa A kaydı kullanın.

MX kaydı: e-posta neden ulaşmıyor

MX kaydı, alan adının e-postasını hangi sunucunun alacağını söyler. Önündeki sayı önceliktir; daha küçük sayı daha yüksek öncelik demektir.

example.com.  3600  IN  MX  10  mail1.provider.net.
example.com.  3600  IN  MX  20  mail2.provider.net.

İki yaygın hata. Birincisi, MX değerinin sonuna nokta koymamak; mail1.provider.net'i nokta olmadan yazarsanız, bazı paneller onu kendi alan adınıza ekler ve e-posta yanlış sunucuya gider. İkincisi, MX yerine CNAME kullanmak. Standart açıkça MX değerinin ana makine adı olması gerektiğini, takma ad olmaması gerektiğini söyler. Bazı e-posta sunucuları bunu tolere eder, bazıları etmez; etmediğinde e-posta sessizce kaybolur.

E-posta gidiyor ama spam'e düşüyorsa, sorun MX değildir. TXT kaydındaki SPF ve DKIM'i kontrol etmelisiniz.

TXT kaydı: SPF, DKIM ve sahiplik doğrulaması

TXT serbest metin tutar ve bugün daha çok e-posta kimlik doğrulaması için kullanılır.

example.com.              3600  IN  TXT  "v=spf1 include:_spf.provider.net -all"
selector1._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0G..."
_dmarc.example.com.       3600  IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

SPF'de yalnızca bir kayda izin verilir. İki v=spf1 kaydınız varsa, sonuç permerror olur ve alıcı mesajı reddeder. Burada şu hata yapılır: yeni bir e-posta servisi eklerken mevcut kayda include eklemek yerine ikinci bir TXT oluştururlar. Belirtisi, e-postaların düzensiz olarak spam'e gitmesi ve hedef sunucu günlüğünün SPF permerror göstermesidir.

DKIM değeri uzundur ve bazı paneller onu birkaç dizeye böler. Kaydı elle kopyalıyorsanız, anahtarın tam ve fazladan boşluk olmadan girildiğinden emin olun; bir eksik karakter imzayı geçersiz kılar.

SRV ve CAA kaydı: az kullanılır ama kritik

SRV, servisin port numarasını ve ana makinesini birlikte bildirir. Sözdizimi dört sayı ve bir addan oluşur:

_sip._tcp.example.com.  3600  IN  SRV  10 5 5060 sipserver.example.com.

Sayıların sırası: öncelik, ağırlık, port, hedef. Ağırlık ve portu karıştırmak yaygın bir hatadır ve kendini yalnızca VoIP veya XMPP servisi bağlanmadığında ve siz sorunu güvenlik duvarında ararken gösterir.

CAA kaydı, hangi sertifika otoritesinin alan adınız için SSL düzenleme yetkisi olduğunu belirtir:

example.com.  3600  IN  CAA  0 issue "letsencrypt.org"

CAA'yı katı şekilde kapatır ve sonra başka bir otoriteden sertifika almak isterseniz, düzenleme başarısız olur ve ACME günlüğündeki hata mesajı CAA record forbids issuance gibi bir şeydir. Bu bir güvenlik kısıtlamasıdır, hata değil. Ekibiniz sertifikayı birden fazla otoriteden alıyorsa, ya CAA koymayın ya da her iki otoriteye izin verin.

Hangi kaydı nereye girmelisiniz

KayıtNeye işaret ederAsıl kullanımYaygın hata
AIPv4 adresiAna alan adı ve wwwGeçişten sonra eski IP
AAAAIPv6 adresiYalnızca IPv6 etkinseDönüş yolu olmadan girmek
CNAMEBaşka adDış servis alt alan adlarıApex'te kullanmak
MXE-posta sunucusuAlan adı e-postası almakEksik bitiş noktası
TXTSerbest metinSPF, DKIM, DMARCİki SPF kaydı
SRVAna makine ve portVoIP, XMPP, bazı oyunlarAğırlık ve portu karıştırmak
CAASertifika otoritesiSSL düzenlemesini kısıtlamakSebepsiz tek otoriteye kapatmak

Bir WordPress siteniz varsa ve A kaydını değiştirdikten sonra veritabanı bağlantı hatasıyla karşılaştıysanız, sorun DNS değildir; sorun giderme yolunu WordPress veritabanı bağlantı hatası rehberinde izleyin. Linux altyapısı üzerinde barındırılan ve DNS bölgesi üzerinde tam kontrol isteyen projeler için Linux hosting, kapalı panellerden daha mantıklı bir seçenektir. WordPress üzerinde çalışıyor ve panel açmadan kayıtları ve önbelleği terminalden kontrol etmek istiyorsanız, temel WP-CLI komutları size çok zaman kazandırır.

Bir şey bozuk olduğunda iş sırası

  1. dig +short ile mevcut durumu kaydedin.
  2. Hangi kaydın o belirtiden sorumlu olduğunu belirleyin: NXDOMAIN A veya CNAME demektir, e-posta ulaşmaması MX ve TXT demektir, SSL hatası CAA veya sertifika demektir.
  3. TTL'yi değişiklikten önce düşürün, sonra değil.
  4. Değişiklikten sonra iki farklı çözümleyiciden (@8.8.8.8 ve @1.1.1.1) kontrol edin.
  5. TTL'den sonra hâlâ uygulanmadıysa, dig +trace ile hangi sunucunun eski yanıt verdiğini görün.

Az söylenen son bir nokta: DNS kaydı değişikliği asla anında değildir ve anında yapmanın hiçbir yolu yoktur. Biri size önbelleği temizleyip hemen uygulanacağını söylüyorsa, yalnızca kendi önbelleğini temizlemiştir. Aradaki çözümleyicilerin önbelleği sizin elinizde değildir. Bu yüzden DNS değişikliklerini düşük trafikli bir zaman aralığında ve sabırla yapın ve her zaman dokunmadan önce mevcut bölgenin bir kopyasını kaydedin.

Sık sorulan sorular

A kaydı ile CNAME arasındaki fark nedir?

A kaydı bir adı doğrudan IP adresine bağlar, ama CNAME bir adı başka bir ada işaret eder ve çözümleyicinin bir sorgu daha yapması gerekir. Ana alan adı için her zaman A koyun; CNAME dış servise bağlanan alt alan adları içindir.

DNS kaydını değiştirdikten sonra site neden hâlâ açılmıyor?

Çünkü çözümleyiciler eski sürümü TTL bitene kadar önbellekte tutar. TTL 3600 ise, bir saate kadar eski siteyi görebilirsiniz. dig +trace example.com ile hangi sunucunun eski yanıt verdiğini görebilirsiniz.

Ana alan adı için CNAME kaydı girebilir miyim?

DNS standardında hayır, çünkü apex'te CNAME MX ve NS kayıtlarıyla çakışır. Bazı sağlayıcılar CNAME flattening ile bunu simüle eder, ama gerçekte arka planda bir A kaydı oluşturulur.

Kaç SPF kaydım olabilir?

Yalnızca bir tane. v=spf1 içeren iki TXT kaydı girerseniz, sonuç permerror olur ve alıcı sunucular e-postanızı reddeder veya spam'e atar. Yeni servisi mevcut kayda include ile ekleyin.

ServerNet Destek

ServerNet mühendislik ve yayın ekibi — altyapı, ağ ve web barındırma uzmanları.

WordPress Hosting
Paylaş:

Yorumlar 0

Henüz yorum yok — ilk siz olun!

Yorum bırakın

İlgili hizmet

WordPress Hosting

LiteSpeed Enterprise ve NVMe üzerinde WordPress'e özel altyapı — otomatik kurulum, güvenli güncelleme, staging ve sizi Google'da üstte tutan önbellek.