Bir tarayıcıya firmaniz.com yazdığınızda aslında sunucunuzun IP adresini yazmış olmazsınız; internet ise makinelerin birbirini yalnızca IP adresi üzerinden bulduğu bir ağdır. Bu iki dünyayı birbirine bağlayan çeviri katmanına DNS deniyor ve bu çevirinin en temel yapı taşı A kaydıdır. A kaydı, kısaca "Address Record" yani adres kaydı, bir alan adını (ya da alt alan adını) bir IPv4 adresine bağlar. Yani firmaniz.com'un 185.12.34.56 numaralı sunucuda barındığını tüm dünyaya duyuran şey, bu tek satırlık kayıttır.
Bir sistem yöneticisi olarak yıllardır gördüğüm en yaygın "sitem açılmıyor" sorunlarının önemli bir bölümü, yanlış ya da eksik bir A kaydından kaynaklanır. Hosting satın alınmıştır, site kurulmuştur, her şey hazırdır ama alan adı hâlâ eski sunucuya ya da hiç var olmayan bir IP'ye bakmaktadır. Bu rehberde A kaydının ne işe yaradığını, DNS çözümlemesi sırasında nasıl kullanıldığını, cPanel veya DNS panelinden nasıl oluşturulduğunu, TTL değerinin neden önemli olduğunu ve birden fazla A kaydının nasıl davrandığını gerçek örneklerle anlatacağım. Ayrıca kök alan adı ile www ayrımı gibi, kağıt üzerinde basit görünüp saatlerce baş ağrıtan konulara da değineceğim.
A Kaydı Tam Olarak Ne İşe Yarar#
A kaydı, adından da anlaşılacağı gibi bir "adres" tutar. Ancak bu adres bir sokak adresi değil, 32 bitlik bir IPv4 adresidir; yani 192.0.2.10 gibi nokta ile ayrılmış dört sayıdan oluşan bir değer. Bir A kaydı üç temel bilgiden oluşur: hangi isim (host), hangi IP adresine baksın ve bu bilgi ne kadar süre önbellekte tutulsun (TTL). Bir DNS bölgesi (zone) dosyasında bu bilgiyi şu şekilde görürsünüz:
; Alan adı TTL Sınıf Tip Değer
firmaniz.com. 3600 IN A 185.12.34.56
www.firmaniz.com. 3600 IN A 185.12.34.56
blog.firmaniz.com. 3600 IN A 185.12.34.60
Burada üç ayrı A kaydı var. İlki kök alan adını (firmaniz.com), ikincisi www alt alan adını, üçüncüsü ise blog adlı ayrı bir alt alan adını farklı bir sunucuya yönlendiriyor. Dikkat ederseniz firmaniz.com ile www.firmaniz.com aynı IP'ye bakarken, blog bambaşka bir makinede barınabiliyor. İşte A kaydının gücü budur: her isim bağımsız olarak istediğiniz sunucuya işaret edebilir. A kaydının yalnızca IPv4 ile çalıştığını unutmayın; IPv6 adresleri (örneğin 2a01:4f8:1c1c::10) için kardeş kayıt tipi olan AAAA kaydı kullanılır. DNS'in genel mantığını daha önce hiç incelemediyseniz, bu rehbere devam etmeden önce DNS nedir yazısına göz atmanız temel kavramları oturtmanıza yardımcı olur.
Bir A Kaydı Sorgusu Adım Adım Nasıl Çözülür#
A kaydının değerini anlamak için, tarayıcıya bir adres yazdığınız anda arka planda ne olduğunu izlemek en öğretici yöntemdir. Kullanıcı firmaniz.com yazdığında bilgisayarınız önce yerel önbelleğine, sonra genelde internet sağlayıcınızın ya da 1.1.1.1 gibi bir çözümleyicinin (resolver) önbelleğine bakar. Kayıt orada yoksa çözümleyici kök sunuculardan başlayarak .com bölgesine, oradan da alan adınızın yetkili DNS sunucularına (authoritative name servers) sorar. En sonunda yetkili sunucu şu cevabı döner: "firmaniz.com için A kaydı 185.12.34.56'dır." Tarayıcı artık bu IP'ye TCP bağlantısı açar ve siteyi yükler.
Bu zinciri kendi makinenizde dig komutuyla adım adım görebilirsiniz. Linux veya macOS'ta terminalden şu komutu çalıştırın:
# Sadece A kaydını sorgula
dig firmaniz.com A +short
# Çıktı örneği:
# 185.12.34.56
# Hangi yetkili sunucudan geldiğini ve TTL'i görmek için
dig firmaniz.com A
Detaylı çıktının ANSWER SECTION bölümünde tam olarak şunu görürsünüz:
;; ANSWER SECTION:
firmaniz.com. 3567 IN A 185.12.34.56
Buradaki 3567 sayısı o an için kalan TTL süresidir; yani bu kayıt önbellekte daha 3567 saniye tutulacaktır. Windows kullanıyorsanız nslookup firmaniz.com komutu benzer bilgiyi verir. A kaydını değiştirdikten sonra tüm dünyanın yeni değeri görmesi anlıksa gerçekleşmez; her çözümleyicideki eski kayıt, TTL süresi dolana kadar geçerli kalır. Yayılma (propagation) dediğimiz bekleme süresinin ana sebebi budur ve TTL değeriyle doğrudan ilişkilidir.
cPanel Üzerinden A Kaydı Oluşturma#
Paylaşımlı hosting kullananların büyük çoğunluğu DNS kayıtlarını cPanel'in Zone Editor (Bölge Düzenleyici) aracından yönetir. Adımlar hemen tüm modern cPanel sürümlerinde aynıdır:
- cPanel'e giriş yapın ve Domains başlığı altındaki Zone Editor simgesine tıklayın.
- Düzenlemek istediğiniz alan adının yanındaki Manage (Yönet) bağlantısını açın.
- + Add Record menüsünden Add "A" Record seçeneğini seçin.
- Açılan formda üç alanı doldurun: Name (örneğin
firmaniz.com.ya dawww), TTL (örneğin14400) ve Record / Address kısmına sunucunuzun IPv4 adresi (185.12.34.56). - Save Record ile kaydedin.
Burada dikkat edilmesi gereken en önemli nokta Name alanının biçimidir. Kök alan adı için genellikle sonunda nokta bulunan tam isim (firmaniz.com.) ya da @ sembolü kullanılır. Alt alan adı için ise sadece etiketi yazarsınız: www, blog, mail gibi. cPanel bunu otomatik olarak www.firmaniz.com şeklinde tamamlar. Eğer yanlışlıkla www.firmaniz.com yerine www.firmaniz.com.firmaniz.com gibi çift alan adı oluşturursanız kayıt çalışmaz; bu, formda tam ismi yazıp cPanel'in bir kez daha alan adını eklemesinden kaynaklanan klasik bir hatadır.
cPanel'in yönettiği bind tabanlı bölge dosyasında sizin girdiğiniz kayıt tam olarak şu satıra dönüşür:
firmaniz.com. 14400 IN A 185.12.34.56
Barındırma paketinizle gelen cPanel'e nasıl erişeceğinizden emin değilseniz, web hosting veya WordPress hosting paketlerimizin tümünde tam yetkili cPanel Zone Editor bulunur. Sunucunuzu ilk kez taşıyorsanız site taşıma hizmetimiz DNS geçişini de kapsar.
Sunucu ve Registrar Panelinden A Kaydı Ekleme#
Alan adınızın yetkili DNS'ini hosting firmanız yerine alan adı kayıt firmanızda (registrar) ya da Cloudflare gibi harici bir sağlayıcıda tutuyorsanız, kaydı orada oluşturmanız gerekir. Mantık aynıdır ama arayüz farklıdır. Registrar panellerinde genellikle "DNS Yönetimi" ya da "DNS Records" başlığı altında şu üç sütunu doldurursunuz: Tip, Ana Makine (Host) ve Değer. Örnek bir tablo şöyle görünür:
| Tip | Host | Değer (IP) | TTL |
|---|---|---|---|
| A | @ | 185.12.34.56 | 3600 |
| A | www | 185.12.34.56 | 3600 |
| A | api | 185.12.34.70 | 300 |
Burada @ sembolü kök alan adını, yani firmaniz.com'un kendisini temsil eder. Kendi VDS ya da sanal sunucunuzu kullanıyor ve yetkili DNS'i doğrudan sunucuda barındırıyorsanız (örneğin BIND ile), bölge dosyasını elle düzenlersiniz. Küçük ölçekli bir örnek zone dosyası şöyle olabilir:
$TTL 3600
@ IN SOA ns1.firmaniz.com. hostmaster.firmaniz.com. (
2026071001 ; serial
7200 ; refresh
3600 ; retry
1209600 ; expire
3600 ) ; minimum
@ IN NS ns1.firmaniz.com.
@ IN NS ns2.firmaniz.com.
@ IN A 185.12.34.56
www IN A 185.12.34.56
mail IN A 185.12.34.58
Bu dosyayı her değiştirdiğinizde en kritik adım serial (seri numarası) değerini artırmaktır; genellikle YYYYMMDDNN biçiminde tutulur. Seri numarasını artırmazsanız ikincil (slave) DNS sunucuları güncellemeyi almaz ve değişikliğiniz görünmez. Kaydı yükledikten sonra BIND'i doğrulayıp yeniden yükleyin:
# Bölge dosyası söz dizimini kontrol et
named-checkzone firmaniz.com /etc/bind/zones/db.firmaniz.com
# BIND'i graceful olarak yeniden yükle
rndc reload firmaniz.com
Sunucu tarafında bu tür yapılandırmalarla ilk kez karşılaşıyorsanız ve tek başınıza uğraşmak istemiyorsanız, sunucu yönetimi hizmetimiz DNS dahil tüm alt yapı işlerini üstlenir. Kendi kaynaklarınızı kontrol etmek isterseniz VDS ve sanal sunucu paketlerimizde tam root erişimiyle kendi DNS'inizi kurabilirsiniz.
TTL Değerini Doğru Seçmek#
TTL (Time To Live), bir A kaydının çözümleyiciler tarafından ne kadar süre önbellekte tutulacağını saniye cinsinden belirtir. Bu tek sayı, DNS değişikliklerinizin ne kadar hızlı yayıldığını doğrudan belirler ve çoğu kişinin göz ardı ettiği bir ayardır. Yüksek bir TTL (örneğin 86400, yani 24 saat) daha az sorgu ve biraz daha iyi performans anlamına gelir, ancak bir IP değiştirmeniz gerektiğinde eski değerin dünyadan silinmesi bir güne kadar sürebilir. Düşük bir TTL (örneğin 300, yani 5 dakika) ise değişiklikleri neredeyse anında yayar ama DNS sunucularınıza daha fazla yük bindirir.
Pratikte izlediğim yöntem şudur ve size de tavsiye ederim:
| Senaryo | Önerilen TTL | Neden |
|---|---|---|
| Kararlı, uzun süredir değişmeyen site | 14400 – 86400 | Daha az sorgu, iyi önbellekleme |
| Yakında sunucu/IP değişikliği planlı | 300 – 600 | Hızlı geçiş, kısa yayılma süresi |
| Aktif taşıma günü | 300 | Anlık geri dönebilme |
| Round-robin ile yük dağıtımı | 60 – 300 | Trafik dengesinin güncel kalması |
Bir sunucu taşıması planlıyorsanız altın kural şudur: taşımadan en az 24 saat önce TTL'i düşürün. Yani bugün TTL'i 300'e indirirseniz, yarın taşıma yaptığınızda tüm çözümleyiciler eski 86400'lük önbelleği çoktan bırakmış olur ve yeni IP'niz dakikalar içinde yayılır. Taşıma tamamlanıp her şeyin oturduğundan emin olduktan sonra TTL'i tekrar yükseltebilirsiniz. A kaydını sadece yönlendirme aracı olarak değil de sayfa yönlendirmesi (redirect) amacıyla düşünüyorsanız, alan adı yönlendirme yazısı A kaydı ile HTTP yönlendirmesi arasındaki farkı net biçimde ortaya koyar.
Birden Fazla A Kaydı ve Round-Robin Davranışı#
Aynı isim için birden fazla A kaydı tanımlayabilirsiniz. Bunu yaptığınızda DNS, gelen sorgulara IP listesini genellikle her seferinde farklı bir sırayla döner; buna round-robin DNS denir ve ilkel ama işe yarayan bir yük dağıtımı yöntemidir. Örneğin:
firmaniz.com. 300 IN A 185.12.34.56
firmaniz.com. 300 IN A 185.12.34.57
firmaniz.com. 300 IN A 185.12.34.58
Bu üç kayıt tanımlıysa, farklı kullanıcılara dig sorgusunda IP'ler dönüşümlü sırada gelir ve trafik üç sunucuya kabaca eşit dağılır. Kendiniz de test edebilirsiniz:
dig firmaniz.com A +short
# Bir sorguda:
# 185.12.34.56
# 185.12.34.57
# 185.12.34.58
# Sonraki sorguda sıra değişir:
# 185.12.34.57
# 185.12.34.58
# 185.12.34.56
Ancak round-robin'in kritik bir sınırı vardır ve bunu mutlaka bilmeniz gerekir: DNS, sunucuların sağlıklı olup olmadığını bilmez. Üç sunucudan biri çökerse, DNS o çökmüş IP'yi dağıtmaya aynı sıklıkta devam eder ve kullanıcıların yaklaşık üçte biri hata alır. Bu yüzden gerçek yüksek erişilebilirlik için round-robin tek başına yeterli değildir; sağlık kontrolü yapan bir yük dengeleyici (load balancer) ya da anycast tabanlı bir CDN katmanı gerekir. Bununla birlikte, saldırı anlarında trafiği emmek ve filtrelemek için DDoS koruma ve uygulama katmanı için WAF hizmetlerimiz DNS düzeyindeki dağıtımdan çok daha güçlü bir dayanıklılık sağlar. Round-robin'i, ölçeklenmeye başlarken atacağınız ilk basit adım olarak düşünün, tek çözüm olarak değil.
Kök Alan Adı, www Ayrımı ve Sık Yapılan Hatalar#
En sık karşılaştığım A kaydı hatalarını burada topladım; çünkü bunların çoğu dakikalar içinde çözülür ama fark edilmezse saatlerinizi alır. Birincisi ve en yaygını, yanlış ya da güncel olmayan IP yazmaktır. Sunucunuzun panelinde gördüğünüz IP ile A kaydına girdiğiniz IP'nin birebir aynı olduğunu doğrulayın; bir hane hatası (.56 yerine .65) siteyi tamamen erişilmez yapar. Değiştirdikten sonra dig firmaniz.com +short ile döneni gözünüzle kontrol edin.
İkinci klasik hata kök alan adı ile www ayrımını ihmal etmektir. Birçok kişi yalnızca www.firmaniz.com için A kaydı oluşturur, kök alan adı olan firmaniz.com için hiçbir kayıt tanımlamaz. Sonuç olarak www ile açılan site çalışır ama www olmadan girildiğinde "site bulunamadı" hatası alınır. Doğru yaklaşım, hem kök alan adı hem de www için A kaydı tanımlamak, sonra bunlardan birinin diğerine yönlendirilmesini web sunucusu katmanında yapmaktır:
# www olmayanı www'ye yönlendir (kalıcı 301)
server {
listen 80;
server_name firmaniz.com;
return 301 https://www.firmaniz.com$request_uri;
}
Üçüncü bir tuzak, kök alan adına CNAME koymaya çalışmaktır. DNS standardı gereği kök alan adı (firmaniz.com) için CNAME kullanılamaz; kökte yalnızca A (ve AAAA) kaydı geçerlidir. www gibi bir alt alan adını CNAME ile başka bir isme bağlayabilirsiniz ama kökü mutlaka A kaydıyla bir IP'ye çakmanız gerekir. Kayıt tiplerini kıyaslarsak tablo şöyle netleşir:
| Kayıt | Neyi bağlar | Kökte kullanılır mı | Örnek değer |
|---|---|---|---|
| A | İsim → IPv4 | Evet | 185.12.34.56 |
| AAAA | İsim → IPv6 | Evet | 2a01:4f8:1c1c::10 |
| CNAME | İsim → başka isim | Hayır (yalnızca alt alan) | hedef.firmaniz.com |
Dördüncü ve son yaygın hata, değişikliğin hemen görünmesini beklemektir. Bir A kaydını güncellediğinizde, eski TTL süresi boyunca dünyanın bir kısmı hâlâ eski IP'yi görür. Yerel bilgisayarınızda DNS önbelleğini temizleyerek en azından kendi tarafınızda hızlanabilirsiniz:
# Linux (systemd-resolved)
sudo systemd-resolve --flush-caches
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Windows
ipconfig /flushdns
Yine de global yayılmanın TTL'e bağlı olduğunu unutmayın; bu yüzden önemli geçişlerden önce TTL'i düşürmek en akıllıca yöntemdir.
A Kaydını AAAA, CNAME ve MX ile Karıştırmayın#
Yeni başlayanların en çok kafasının karıştığı nokta, farklı kayıt tiplerinin görevlerini birbirine karıştırmaktır. A kaydı yalnızca "bu isim şu IPv4 adresinde" bilgisini taşır; e-posta yönlendirmesi, alan adı takma adı veya doğrulama gibi görevler başka kayıt tiplerine aittir. Örneğin e-postanızın hangi sunucuya teslim edileceğini A kaydı değil, MX kaydı belirler; ancak MX kaydı bir isme işaret eder ve o ismin arkasında yine bir A kaydı bulunmalıdır. Kısa bir örnekle bakalım:
firmaniz.com. 3600 IN A 185.12.34.56 ; web sunucusu
mail.firmaniz.com. 3600 IN A 185.12.34.58 ; posta sunucusunun IP'si
firmaniz.com. 3600 IN MX 10 mail.firmaniz.com. ; posta yönlendirmesi
Görüldüğü gibi MX kaydı doğrudan bir IP tutmaz; mail.firmaniz.com ismini gösterir ve o ismin kendi A kaydı vardır. Bu katmanlı yapı, DNS'in esnekliğinin temelidir. Benzer şekilde, bir SSL sertifikası doğrulaması genellikle TXT ya da CNAME kaydı ister; kurumsal e-posta altyapısı için e-posta çözümlerimizi kullanıyorsanız gerekli MX ve A kayıtlarını kurulum sırasında paneliniz üzerinden hazır alırsınız. Kayıt tiplerini birbirinden ayırmayı bir kez oturttuğunuzda, DNS yönetimi karmaşık olmaktan çıkıp mekanik bir işe dönüşür.
Sıkça Sorulan Sorular#
A kaydı değişikliği ne kadar sürede aktif olur#
Değişikliğin yayılma süresi doğrudan eski kaydın TTL değerine bağlıdır. TTL'iniz 3600 (1 saat) ise, önbellekte kaydınız bulunan çözümleyicilerin en geç bir saat içinde yeni değeri görmesi beklenir; bazıları ise daha erken güncellenir. TTL 86400 gibi yüksekse tam yayılma bir güne kadar uzayabilir. Bu yüzden önemli bir IP değişikliğinden en az 24 saat önce TTL'i düşürmek, geçişi dakikalar seviyesine indirir.
A kaydı ile CNAME arasındaki fark nedir#
A kaydı bir ismi doğrudan bir IPv4 adresine bağlar, CNAME ise bir ismi başka bir isme (takma ad olarak) bağlar. Örneğin firmaniz.com için A kaydı 185.12.34.56 değerini tutarken, www.firmaniz.com bir CNAME ile firmaniz.com'a işaret edebilir. Önemli kısıt şudur: kök alan adına CNAME konulamaz, kökte mutlaka A kaydı kullanılır; CNAME yalnızca alt alan adlarında geçerlidir.
Kök alan adı için mi yoksa www için mi A kaydı oluşturmalıyım#
En sağlıklı yaklaşım her ikisi için de A kaydı tanımlamaktır. Yani hem firmaniz.com (kök) hem de www.firmaniz.com için IP'ye işaret eden birer A kaydınız olmalı. Böylece ziyaretçi ister www ile ister www olmadan girsin site açılır; ardından web sunucusu katmanında birinden diğerine 301 yönlendirmesi yaparak tek bir kanonik adres kullanabilirsiniz.
Aynı alan adı için birden fazla A kaydı ekleyebilir miyim#
Evet, aynı isme birden fazla A kaydı ekleyebilirsiniz ve DNS bu IP'leri dönüşümlü olarak (round-robin) dağıtır. Bu, trafiği birden fazla sunucuya yaymanın basit bir yoludur. Ancak DNS sunucuların sağlığını denetlemez; biri çökerse trafiğin bir kısmı yine o çökmüş IP'ye gider. Gerçek yüksek erişilebilirlik için sağlık kontrolü yapan bir yük dengeleyici ya da CDN katmanı gerekir.
A kaydımın doğru çalışıp çalışmadığını nasıl kontrol ederim#
En pratik yöntem komut satırından sorgu yapmaktır. Linux veya macOS'ta dig firmaniz.com A +short, Windows'ta ise nslookup firmaniz.com komutu size kaydın döndüğü IP'yi gösterir. Dönen IP'nin sunucunuzun panelde yazan IP'siyle birebir aynı olduğunu doğrulayın. Değişiklik yaptıysanız ve hâlâ eski IP geliyorsa, muhtemelen TTL süresi dolmamıştır; yerel önbelleği temizleyip TTL süresi kadar bekleyin.
A kaydı IPv6 için de kullanılabilir mi#
Hayır, A kaydı yalnızca IPv4 adresleri içindir. IPv6 adreslerini (örneğin 2a01:4f8:1c1c::10) bağlamak için AAAA kaydı kullanılır. Modern bir kurulumda genellikle hem A hem AAAA kaydını birlikte tanımlarsınız; böylece hem IPv4 hem IPv6 üzerinden gelen ziyaretçiler siteye ulaşabilir. İki kayıt aynı hizmete işaret eder, sadece adres aileleri farklıdır.
Kapanış#
A kaydı, DNS'in en yalın ama en kritik parçasıdır: bir ismi bir IPv4 adresine bağlar, hepsi bu. Ama bu tek satırlık kayıt yanlışsa siteniz erişilmez olur, doğruysa ve TTL'i akıllıca ayarlanmışsa hem hızlı hem de sorunsuz geçişler yaparsınız. Bu rehberde gördüğünüz gibi işin özü birkaç sağlam alışkanlıkta toplanır: doğru IP'yi girmek, hem kök hem www için kayıt tanımlamak, taşımadan önce TTL'i düşürmek ve değişiklikleri dig ile doğrulamak.
Eğer DNS ile tek başınıza uğraşmak istemiyor, kayıtların doğru kurulduğundan emin olmak istiyorsanız Clou.TR paketleri bu işi büyük ölçüde sizin yerinize üstlenir. cPanel Zone Editor'lı web hosting ve WordPress hosting paketlerimizle A kayıtlarınızı dakikalar içinde yönetebilir, kendi altyapınızı kurmak istiyorsanız tam root erişimli VDS sunucularımızı tercih edebilir, geçiş sırasında tüm DNS ayarlarını bize bırakmak isterseniz site taşıma ve sunucu yönetimi hizmetlerimizden yararlanabilirsiniz. Alan adınızı henüz almadıysanız alan adı sayfamızdan başlayabilirsiniz.