Yeni bir servise kaydoldunuz ve karşınıza şu ekran çıktı: "Alan adınızı bağlamak için ya 76.76.21.21 IP adresine bir A kaydı ekleyin ya da cname.servis.com adresine bir CNAME oluşturun." İkisi de çalışacakmış gibi duruyor, kurulum sihirbazı hangisini seçmeniz gerektiğini söylemiyor ve siz DNS panelinde iki seçenek arasında duraksıyorsunuz. Bir sonraki adımda daha can sıkıcı bir uyarı geliyor: kök alan adına CNAME eklemeye çalıştığınızda panel kaydı reddediyor, www için ise sorunsuz kabul ediyor.
Bu ikilem, DNS'te en sık takılınan noktalardan biridir ve tanımları ezberlemekle çözülmez. "A kaydı IP adresi gösterir, CNAME takma addır" cümlesini herkes bilir; asıl soru şudur: elinizdeki somut senaryoda hangisi daha az bakım gerektirir, hangisi daha hızlı çözümlenir ve hangisi teknik olarak zaten mümkün değildir.
Bu yazıda tanım tekrarı yapmayacağım. Bunun yerine kök alan adı, www, alt alan adı, harici servis, CDN ve mail kaydı senaryolarını tek tek ele alıp her biri için net bir karar vereceğim. Ardından kök alan adına CNAME konulamamasının gerçek sebebini, bunun ALIAS/ANAME ile nasıl aşıldığını ve CNAME zincirinin ölçülebilir maliyetini göstereceğim.
Aradaki Gerçek Fark: Adres mi, Yönlendirme mi#
İki kayıt tipi arasındaki fark, DNS çözümleyicisinin cevabı kaç adımda aldığında ortaya çıkar.
A kaydı bir son cevaptır. Çözümleyici sirketiniz.com için A kaydı sorduğunda 203.0.113.10 cevabını alır ve iş biter. Bağlantı doğrudan o IP'ye açılır.
CNAME bir yönlendirmedir. Çözümleyici www.sirketiniz.com için sorgu yaptığında "bu adın asıl karşılığı sirketiniz.com" cevabını alır ve yeni bir sorgu daha yapmak zorunda kalır. Ancak ikinci sorgunun sonunda IP'ye ulaşır. Yani CNAME cevabın kendisi değil, cevabın nerede olduğunun tarifidir.
Bu tek fark, sonraki bütün kararların temelini oluşturur:
| Ölçüt | A kaydı | CNAME |
|---|---|---|
| Cevabın niteliği | IP adresi (son cevap) | Başka bir alan adı (ara adım) |
| Ek DNS sorgusu | Yok | En az bir tane daha |
| Hedefin IP'si değişince | Siz güncellersiniz | Otomatik takip edilir |
| Kök alan adında kullanım | Serbest | Standart gereği mümkün değil |
| Aynı adda başka kayıt | Serbest (MX, TXT vb.) | Yasak, tek başına durmalı |
| MX veya NS hedefi olabilir mi | Evet | Hayır, uygun değil |
| IPv6 için | Ayrı bir AAAA gerekir | Hedefin AAAA'sı da miras alınır |
Tablodaki son satır sıkça gözden kaçar: CNAME kullandığınızda hedefin hem IPv4 hem IPv6 adresini otomatik olarak devralırsınız. A kaydı kullanıyorsanız IPv6 desteği için ayrıca AAAA kaydı tanımlamanız gerekir.
Karar Tablosu: Hangi Senaryoda Hangi Kayıt#
Aşağıdaki tablo, karşılaşacağınız senaryoların neredeyse tamamını kapsıyor. Tereddüde düştüğünüzde buraya bakın.
| Senaryo | Kullanın | Gerekçe |
|---|---|---|
Kök alan adı (sirketiniz.com) kendi sunucunuza | A | CNAME standart gereği mümkün değil |
| Kök alan adı harici bir platforma | ALIAS/ANAME veya sağlayıcı A kaydı | CNAME yasak, ALIAS bu boşluğu doldurur |
www alt alan adı, kökle aynı yere | CNAME → köke | Tek yerden bakım, IP değişimini takip eder |
| Alt alan adı, kendi sunucunuzdaki farklı bir IP'ye | A | Ara adım anlamsız, IP zaten sizin |
Harici SaaS paneli (destek., magaza.) | CNAME | Sağlayıcı IP'yi haber vermeden değiştirir |
| CDN arkasına alınan alt alan adı | CNAME | CDN uç noktası coğrafyaya göre değişir |
Mail sunucusu adı (mx1.) | A | MX hedefi CNAME olamaz |
Nameserver adı (ns1.) | A (ve AAAA) | NS hedefi CNAME olamaz |
| Doğrulama kaydı (site sahipliği) | TXT veya sağlayıcının verdiği CNAME | Sağlayıcı hangisini istiyorsa o |
Wildcard (*.sirketiniz.com) | Duruma göre ikisi de | Hedef sabit IP ise A, harici ise CNAME |
| Yük dengeleyici / esnek altyapı | CNAME | Arkadaki IP havuzu sürekli değişir |
Tabloyu tek cümleye indirgemek gerekirse: hedefin IP adresi sizin kontrolünüzdeyse A kaydı, başkasının kontrolündeyse CNAME. İstisna, kök alan adıdır; orada tercih hakkınız yoktur.
Kök Alan Adına Neden CNAME Koyamıyorsunuz#
Panel bu kaydı keyfî olarak reddetmiyor. Sebep, DNS standardının temel bir kuralında yatıyor: bir isim CNAME kaydına sahipse, o isimde başka hiçbir kayıt bulunamaz.
Kök alan adı ise doğası gereği başka kayıtlara sahip olmak zorundadır. Her zone dosyasının tepesinde SOA kaydı ve alan adının yetkili sunucularını listeleyen NS kayıtları bulunur; bunlar isteğe bağlı değildir, alan adının varlık şartıdır. Buna çoğu zaman posta için MX ve doğrulama için TXT kayıtları da eklenir.
; Kök alan adında zaten bulunmak ZORUNDA olan kayıtlar
sirketiniz.com. 3600 IN SOA ns1.saglayici.com. hostmaster.sirketiniz.com. (
2026081801 7200 3600 1209600 3600 )
sirketiniz.com. 3600 IN NS ns1.saglayici.com.
sirketiniz.com. 3600 IN NS ns2.saglayici.com.
sirketiniz.com. 3600 IN MX 10 mx1.postaservisi.com.
; Bu satır yukarıdakilerle çakışır - geçersizdir
; sirketiniz.com. 3600 IN CNAME hedef.platform.com.
Kök alan adına bir CNAME eklemek, "bu isimde başka kayıt olamaz" kuralını "bu isimde başka kayıt olmak zorunda" gerçeğiyle çarpıştırır. Sonuç öngörülemez olur: kural gereği çözümleyici CNAME'i takip etmelidir, ama o zaman MX kaydını göremez ve alan adına gelen postalar teslim edilemez.
Bazı DNS panelleri kaydı hiç kabul etmez, bazıları kabul eder ama sessizce farklı davranır. İkincisi daha tehlikelidir, çünkü site çalışırken postanın kesildiğini günler sonra fark edersiniz. Alt alan adlarında böyle bir kısıt yoktur; destek.sirketiniz.com gibi bir isimde zorunlu SOA/NS kaydı bulunmadığı için CNAME rahatça tek başına durabilir.
ALIAS ve ANAME ile Kök Alan Adını Harici Servise Bağlamak#
Kök alan adını Vercel, Netlify, bir yük dengeleyici veya sabit IP vermeyen herhangi bir platforma bağlamak istediğinizde çıkmaza girersiniz: CNAME yasak, A kaydı için ise sabit bir IP yok. Bu boşluğu doldurmak için DNS sağlayıcıları standart dışı ama yaygın bir çözüm geliştirdi.
ALIAS (bazı sağlayıcılarda ANAME, Cloudflare'de CNAME flattening) kaydı, panelde CNAME gibi bir hedef adı alır. Fark şudur: çözümleme işini istemciye bırakmaz. Yetkili DNS sunucusu hedefi kendisi çözer ve dış dünyaya düz bir A kaydı olarak cevap verir.
# Panelde ALIAS tanımlıdır, ama dışarıdan bakınca A kaydı görünür
dig A sirketiniz.com +short
# 76.76.21.21
# CNAME sorgusu boş döner - çünkü dışarı CNAME sunulmuyor
dig CNAME sirketiniz.com +short
# (bos)
Bu yaklaşımın üç pratik sonucu var:
- Standart ihlali olmaz. Dışarıya A kaydı sunulduğu için MX, TXT ve NS kayıtları kök alan adında sorunsuz durmaya devam eder.
- Bakım yükü ortadan kalkar. Platform IP'sini değiştirdiğinde sağlayıcınız yeni değeri kendisi öğrenir; sizin müdahale etmeniz gerekmez.
- Her sağlayıcıda bulunmaz. Kayıt tipi bir standart değil, sağlayıcı özelliğidir. Alan adınızın nameserver'ları bu özelliği desteklemiyorsa tek çareniz platformun verdiği sabit IP'ye A kaydı yazmak ve o IP'yi takip etmektir.
Kayıt tipinin ayrıntıları ve hangi sağlayıcıların desteklediği için ALIAS ve ANAME kaydı yazısına bakabilirsiniz. Cloudflare kullanıyorsanız bu işi otomatik yapar; ayrıntılar Cloudflare DNS ve CDN yazısında.
www İçin CNAME mi A Kaydı mı Daha Doğru#
www alt alan adı, iki yaklaşımın da geçerli olduğu ender senaryolardan biri. İkisini karşılaştıralım.
Yaklaşım 1 — www için CNAME:
sirketiniz.com. 3600 IN A 203.0.113.10
www.sirketiniz.com. 3600 IN CNAME sirketiniz.com.
Yaklaşım 2 — www için ayrı A kaydı:
sirketiniz.com. 3600 IN A 203.0.113.10
www.sirketiniz.com. 3600 IN A 203.0.113.10
İkisi de çalışır, ancak farkları vardır. CNAME yaklaşımında sunucu IP'niz değiştiğinde tek bir satırı güncellersiniz; www otomatik takip eder. A kaydı yaklaşımında iki satırı da güncellemeniz gerekir ve birini unutmak, www ile www'suz adresin farklı sunuculara gitmesine yol açar. Bu, teşhisi zor bir arızadır: kullanıcıların bir kısmı yeni siteyi, bir kısmı eski siteyi görür.
Buna karşılık A kaydı yaklaşımı bir DNS sorgusu tasarruf ettirir ve www ile kök alan adının farklı sunuculara gitmesi gereken durumlarda tek seçenektir. Örneğin kökü bir yönlendirme servisine, www'yu asıl sunucuya bağlıyorsanız CNAME zinciri işinizi görmez.
Pratik öneri: iki ad da aynı yeri gösterecekse www için CNAME kullanın. Bakım kolaylığı, tek bir ek sorgunun maliyetinden değerlidir.
Alt Alan Adları ve Harici Servisler: CNAME'in Asıl Değeri#
CNAME'in gerçekten fark yarattığı yer, hedefin sizin olmadığı durumlardır. Bir SaaS sağlayıcısının size verdiği uç nokta bugün bir IP'de, altı ay sonra başka bir IP'de olabilir ve bunu size haber vermez; sözleşmesi de zaten CNAME kullanmanızı şart koşar.
; Harici servisler - hepsi CNAME
destek.sirketiniz.com. 3600 IN CNAME musteri123.destekservisi.com.
blog.sirketiniz.com. 3600 IN CNAME sirketiniz.blogplatformu.com.
cdn.sirketiniz.com. 3600 IN CNAME d1a2b3c4.cdnsaglayici.net.
durum.sirketiniz.com. 3600 IN CNAME sirketiniz.durumsayfasi.io.
; Kendi altyapınız - A kaydı
api.sirketiniz.com. 3600 IN A 203.0.113.20
panel.sirketiniz.com. 3600 IN A 203.0.113.21
Buradaki ayrımı bir soruyla test edebilirsiniz: "Bu IP değişirse bana kim haber verir?" Cevap "kimse" ise CNAME kullanın. Cevap "ben zaten kendim değiştiriyorum" ise A kaydı kullanın.
CDN senaryosunda CNAME neredeyse zorunludur, çünkü CDN'ler ziyaretçinin konumuna göre farklı uç noktalar döndürür. Sabit bir A kaydı yazarsanız İzmir'deki kullanıcı Frankfurt'taki sunucuya sabitlenir ve CDN'in coğrafi dağıtım avantajını tamamen kaybedersiniz.
Alt alan adı oluşturmanın panel tarafındaki adımları için alt alan adı oluşturma yazısına bakabilirsiniz.
CNAME Zinciri Ne Kadar Gecikme Ekler#
CNAME'in bedeli ek DNS sorgusudur ve bu bedel zincir uzadıkça büyür. Tipik bir zincir şöyle görünür:
# Zinciri baştan sona izleyin
dig cdn.sirketiniz.com +trace
# Sadece zincirin adımlarını görün
dig cdn.sirketiniz.com CNAME +short
# d1a2b3c4.cdnsaglayici.net.
dig d1a2b3c4.cdnsaglayici.net CNAME +short
# global.cdnsaglayici.net.
Her adım, önbellekte karşılığı yoksa yeni bir yetkili sunucu sorgusu demektir. Soğuk önbellekle her adım tipik olarak 20-80 ms arasında bir gecikme ekler; üç halkalı bir zincir, ilk ziyaretçi için 100 ms'nin üzerinde ek süre anlamına gelebilir.
Bu rakam kulağa küçük gelse de kritik olan nokta şudur: bu gecikme sayfa yüklemesinden önce yaşanır, yani hiçbir optimizasyonla telafi edilemez. Tarayıcı, IP'yi öğrenmeden ilk baytı isteyemez.
Neyse ki pratikte etki sınırlıdır. Zincirin ara halkaları genellikle popüler adreslerdir ve çözümleyicinin önbelleğinde çoktan bulunur; ayrıca cevaplar TTL süresince saklandığı için gecikme yalnızca ilk sorguyu vurur. Yine de üç kuralı akılda tutun:
- Gereksiz halka eklemeyin.
www → kok → platformyerinewwwdoğrudan platforma bağlanabiliyorsa öyle yapın. - Kendi CNAME'inizi kendi CNAME'inize bağlamayın. İki iç halka, sadece bakım kolaylığı için ödenen gereksiz bir bedeldir.
- Döngü kurmayın.
a → bveb → aşeklindeki tanım çözümlemeyi tamamen kırar; çoğu çözümleyici belirli bir adımdan sonra pes eder ve isim çözülmez hale gelir.
Kayıtların TTL değerinin bu denklemdeki rolü için propagasyon süresi ve TTL yazısı iyi bir tamamlayıcı.
CNAME'in Kesinlikle Kullanılamayacağı Yerler#
Bazı noktalarda karar vermenize gerek yoktur; CNAME zaten geçersizdir.
MX hedefi. MX 10 mail.sirketiniz.com yazıp mail.sirketiniz.com adını CNAME olarak tanımlamak standartlara aykırıdır. Bazı gönderici sunucular bu zinciri takip etmez ve postayı teslim edemez. Mail sunucusu adını daima A kaydı olarak tanımlayın.
NS hedefi. Nameserver adları da A (ve varsa AAAA) kaydı olmalıdır. CNAME'e bağlı bir nameserver, delegasyon zincirini kırar.
Aynı adda başka kayıt varken. Bir isimde CNAME varsa o isimde TXT, MX veya A bulunamaz. Doğrulama için sirketiniz.com köküne TXT eklemeniz gerekiyorsa ve orada CNAME varsa kayıt çakışır.
; YANLIS - ayni isimde CNAME ve TXT bir arada
blog.sirketiniz.com. 3600 IN CNAME sirketiniz.blogplatformu.com.
blog.sirketiniz.com. 3600 IN TXT "dogrulama-kodu-12345"
; DOGRU - dogrulamayi ayri bir isimde tutun
blog.sirketiniz.com. 3600 IN CNAME sirketiniz.blogplatformu.com.
_dogrulama.blog.sirketiniz.com. 3600 IN TXT "dogrulama-kodu-12345"
Bu yüzden servis sağlayıcıları doğrulama kayıtlarını genellikle _ ile başlayan ayrı bir alt alan adında ister; asıl kaydınızla çakışmasın diye.
Kararınızı Doğrulama Komutları#
Kaydı ekledikten sonra beklediğiniz şeyin gerçekten oluştuğunu görün.
# Kayıt tipini kesin olarak belirleyin
dig sirketiniz.com A +short
dig www.sirketiniz.com CNAME +short
# Tam cevabı ve zinciri okuyun (ANSWER bolumune bakin)
dig www.sirketiniz.com
# Onbellegi atlayip yetkili sunucuya sorun
dig @ns1.saglayici.com www.sirketiniz.com +norecurse
# Windows tarafinda hizli kontrol
nslookup -type=cname www.sirketiniz.com
dig www.sirketiniz.com çıktısının ANSWER bölümünde önce bir CNAME satırı, ardından hedefin A satırı görünüyorsa CNAME doğru kurulmuştur. Sadece A satırı varsa ya doğrudan A kaydı tanımlamışsınızdır ya da sağlayıcınız ALIAS/flattening uyguluyordur. Bu komutların ayrıntılı kullanımı için dig ve nslookup rehberi yazısına göz atın.
Yerel önbellek yüzünden eski cevabı görüyor olabilirsiniz; değişiklik sonrası kontrollerde @1.1.1.1 gibi harici bir çözümleyiciye sormak veya DNS önbelleğini temizlemek yanıltıcı sonuçları önler.
Sıkça Sorulan Sorular#
Kök alan adına neden CNAME ekleyemiyorum?#
DNS standardına göre bir isimde CNAME varsa o isimde başka hiçbir kayıt bulunamaz. Kök alan adı ise SOA ve NS kayıtlarına sahip olmak zorundadır; genellikle MX ve TXT kayıtları da orada durur. Bu iki kural doğrudan çakışır. Bazı paneller kaydı hiç kabul etmez, kabul eden panellerde ise e-posta teslimatı veya doğrulama kayıtları sessizce bozulabilir. Kök için A kaydı veya sağlayıcınız destekliyorsa ALIAS/ANAME kullanın.
A kaydı CNAME'den daha mı hızlıdır?#
Teknik olarak evet, ancak fark çoğu sitede hissedilmez. A kaydı tek sorguda son cevabı verir, CNAME ise en az bir ek sorgu gerektirir. Soğuk önbellekte bu adım başına 20-80 ms arasında gecikme ekleyebilir. Buna karşılık cevaplar TTL süresince önbellekte tutulur ve zincirdeki ara adresler genellikle zaten önbellektedir. Uzun zincirlerden kaçındığınız sürece hız farkı karar ölçütünüz olmamalıdır.
www için CNAME mi yoksa A kaydı mı kullanmalıyım?#
www ile kök alan adı aynı yeri gösterecekse www için CNAME kullanın ve köke yöneltin. Böylece sunucu IP'niz değiştiğinde sadece tek bir kaydı güncellersiniz; ikisini ayrı A kaydı yaparsanız birini güncellemeyi unutup adreslerin farklı sunuculara gitmesi riskini alırsınız. İkisinin farklı hedeflere gitmesi gerekiyorsa doğal olarak ayrı kayıtlar tanımlarsınız.
Bir CNAME kaydının yanına TXT kaydı ekleyebilir miyim?#
Hayır, aynı isimde ikisi birlikte bulunamaz. Bu, CNAME'in en katı kısıtıdır ve ihlal edildiğinde davranış sağlayıcıya göre değişir: bazıları kaydı reddeder, bazıları kabul edip sorgularda tutarsız sonuç döndürür. Doğrulama kaydını farklı bir isimde tutun. Servis sağlayıcılarının doğrulama için genellikle alt çizgiyle başlayan ayrı bir alt alan adı istemesinin sebebi tam olarak budur.
CNAME zincirinin kaç halkası olabilir?#
Standart kesin bir üst sınır koymaz ama çözümleyiciler kendi sınırlarını uygular ve genellikle sekiz civarında adımdan sonra çözümlemeyi bırakır. Pratikte iki halkayı geçmemeye çalışın: her ek adım gecikme ekler, arıza teşhisini zorlaştırır ve zincirdeki herhangi bir halkanın bozulması sizin adresinizi de erişilemez hale getirir. Ayrıca birbirini gösteren iki kayıt döngü oluşturur ve isim tamamen çözülemez.
Alt alan adım için hangi kaydı kullanacağıma nasıl karar veririm?#
Tek soruyla karar verin: hedefin IP adresi değişirse bunu size kim haber verecek? Cevap "kimse, harici bir servis kullanıyorum" ise CNAME seçin; sağlayıcı IP'yi değiştirdiğinde kaydınız otomatik takip eder. Cevap "IP zaten benim sunucumun" ise A kaydı seçin; ara adım hiçbir fayda sağlamaz, sadece bir sorgu daha ekler. Mail ve nameserver adları bu sorunun dışındadır; onlar her zaman A kaydı olmalıdır.