DNS Bölgesi Nedir?
DNS bölgesi, belirli bir kuruluş veya yönetici tarafından yönetilen DNS ad alanının ayrı bir bölümüdür. Bir bölge, bir ya da daha fazla alan adına ait DNS kayıtlarını içerir ve yetkili ad sunucuları tarafından sunulur. Alan adı DNS ağacındaki bir ad iken bölge, sorguları hangi ad sunucularının yanıtlamaktan sorumlu olduğunu belirleyen idari sınırdır.
Alan Adı ile Bölge Arasındaki Fark
Bu ayrımı anlamak kritik önem taşır:
Alan adı
Alan adı, DNS hiyerarşisindeki bir addır:
example.com (domain)
└── www.example.com (subdomain)
└── blog.example.com (subdomain)
└── api.example.com (subdomain)
Bölge
Bölge, kayıtlar üzerindeki idari denetim alanıdır:
Alan adı ve alt alan adları için tek bölge:example.com zone contains:
- example.com
- www.example.com
- blog.example.com
- api.example.com
Managed by: ns1.example.com, ns2.example.com
Yetkilendirilmiş alt alan adı bölgesi:
example.com zone contains:
- example.com
- www.example.com
- Delegation: api.example.com → different nameservers
api.example.com zone (separate) contains:
- api.example.com
- v1.api.example.com
- v2.api.example.com
Managed by: ns1.apihost.com, ns2.apihost.com
Bölge Bileşenleri
Bölge dosyası
Bir bölgeye ait tüm DNS kayıtlarını içeren metin dosyasıdır:
; example.com zone file
$TTL 3600
@ IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
7200 ; Refresh
3600 ; Retry
1209600 ; Expire
3600 ; Minimum TTL
)
; Nameserver records
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; A records
@ IN A 203.0.113.50
www IN A 203.0.113.50
blog IN A 203.0.113.51
; MX records
@ IN MX 10 mail.example.com.
mail IN A 203.0.113.52
; CNAME records
ftp IN CNAME www.example.com.
; TXT records
@ IN TXT "v=spf1 include:_spf.google.com ~all"
SOA kaydı (Yetki başlangıcı)
Her bölgede tam olarak bir SOA kaydı bulunmalıdır:
example.com. IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
7200 ; Refresh
3600 ; Retry
1209600 ; Expire
3600 ; Minimum TTL
)
SOA alanları:
| Alan | Amaç | Örnek değer |
|---|---|---|
| Primary NS | Birincil ad sunucusu | ns1.example.com |
| Admin Email | İletişim (@ → .) | admin.example.com ([email protected]) |
| Serial | Bölge sürüm numarası | 2024010101 |
| Refresh | İkincil NS denetim aralığı | 7200s (2 hours) |
| Retry | Yenileme başarısız olursa yeniden deneme aralığı | 3600s (1 hour) |
| Expire | İkincil NS'nin vazgeçme süresi | 1209600s (14 days) |
| Minimum TTL | Negatif önbellekleme süresi | 3600s (1 hour) |
NS kayıtları (ad sunucuları)
Bölge için hangi sunucuların yetkili olduğunu belirtir:
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
Bu kayıtlar, dünyanın bu bölgedeki kayıtlar için hangi sunuculara sorgu göndereceğini bildirir.
Bölge Türleri
Birincil bölge (ana)
Bölge kayıtlarının düzenlendiği yetkili kaynaktır:
ns1.example.com (primary)
→ Zone file edited here
→ Changes made directly
→ Notifies secondaries of updates
İkincil bölge (yedek)
Birincil bölgeden çoğaltılan salt okunur kopyalardır:
ns2.example.com (secondary)
→ Retrieves zone data from primary
→ Cannot be edited directly
→ Automatically syncs based on SOA refresh interval
Bölge aktarımı (AXFR):
1. Secondary checks SOA serial number
2. If primary serial is higher → request full zone transfer
3. Primary sends entire zone
4. Secondary updates its copy
Artımlı aktarım (IXFR):
1. Secondary requests only changes since last serial
2. Primary sends diff
3. More efficient for large zones with small changes
İleri bölge
Alan adlarını IP adreslerine eşler (en yaygın kullanım):
example.com → 203.0.113.50
www.example.com → 203.0.113.50
Ters bölge
IP adreslerini alan adlarına eşler (PTR kayıtları):
50.113.0.203.in-addr.arpa → example.com
Şu amaçlarla kullanılır:
- E-posta sunucusu doğrulaması
- Günlük kaydı ve güvenlik
- Sorun giderme
Bölge Yetkilendirmesi
Yetkilendirme, alt alan adları için ayrı bölgeler oluşturur:
Üst bölge (example.com)
; example.com zone
@ IN A 203.0.113.50
www IN A 203.0.113.50
; Delegate api.example.com to different nameservers
api IN NS ns1.apihost.com.
api IN NS ns2.apihost.com.
; Glue records (if needed)
ns1.api IN A 198.51.100.1
ns2.api IN A 198.51.100.2
Yetkilendirilmiş bölge (api.example.com)
Farklı ad sunucularında bulunan tamamen ayrı bir bölge dosyasıdır:
; api.example.com zone (on ns1.apihost.com)
@ IN A 198.51.100.10
v1 IN A 198.51.100.11
v2 IN A 198.51.100.12
Neden yetkilendirme yapılır?
- Kurumsal: Farklı ekipler farklı bölgeleri yönetir
- Teknik: Farklı DNS sağlayıcıları kullanılır (ör. API AWS'de, web sitesi Cloudflare'da)
- Performans: DNS yükü dağıtılır
- Güvenlik: Hassas hizmetler yalıtılır
Bölge Yönetimi
Seri numarası yönetimi
Seri numaraları bölge sürümlerini izler (genellikle YYYYMMDDnn biçiminde):
2024010101 ; January 1, 2024, version 01
2024010102 ; January 1, 2024, version 02
2024010201 ; January 2, 2024, version 01
Kritik kural: Her değişiklikte seri numarası artırılmalıdır, aksi halde ikincil sunucular güncellenmez.
Bölge aktarımı güvenliği
Sorun: Bölge aktarımları tüm DNS kayıtlarını açığa çıkarır Çözüm: Bölge aktarımlarını yetkili ikincil sunucularla sınırlandırın BIND yapılandırması:zone "example.com" {
type master;
file "/var/named/example.com.zone";
allow-transfer { 203.0.113.52; 203.0.113.53; }; // Secondary IPs only
notify yes;
};
TSIG (İşlem imzası): Paylaşılan anahtarlarla bölge aktarımlarının kimliğini doğrulayın:
key "transfer-key" {
algorithm hmac-sha256;
secret "base64-encoded-key";
};
allow-transfer { key transfer-key; };
Bölge Yapılandırmasını Denetleme
SOA kaydını sorgulama
dig example.com SOA
; ANSWER SECTION:
example.com. 3600 IN SOA ns1.example.com. admin.example.com. (
2024010101 7200 3600 1209600 3600 )
NS kayıtlarını sorgulama
dig example.com NS
; ANSWER SECTION:
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
Bölge aktarımı isteme (AXFR)
dig @ns1.example.com example.com AXFR
# If allowed, returns entire zone
# If denied, returns transfer failed
Bilgi ifşasını önlemek için çoğu herkese açık ad sunucusu AXFR isteklerini reddeder.
Yaygın Bölge Yapılandırmaları
Basit web sitesi
example.com zone:
@ A 203.0.113.50
www A 203.0.113.50
@ MX 10 mail.example.com
mail A 203.0.113.51
@ TXT "v=spf1 mx -all"
Çok hizmetli bölge
example.com zone:
@ A 203.0.113.50
www A 203.0.113.50
blog CNAME hosting.wordpress.com.
shop CNAME shops.myshopify.com.
cdn CNAME d111111abcdef8.cloudfront.net.
@ MX 10 aspmx.l.google.com.
Yetkilendirilmiş alt alan adları
example.com zone:
@ A 203.0.113.50
www A 203.0.113.50
; Delegate api to AWS Route 53
api NS ns-123.awsdns-01.com.
api NS ns-456.awsdns-02.net.
; Delegate cdn to Cloudflare
cdn NS ns1.cloudflare.com.
cdn NS ns2.cloudflare.com.
Bölge Dosyası İçin En İyi Uygulamalar
1. Seri numarasını her zaman artırın: Her değişiklikten sonra artırılmazsa ikincil sunucular güncellenmez
2. Tarih tabanlı seri numaraları kullanın: Açıklık için YYYYMMDDnn biçimini kullanın
3. Bölge aktarımlarını sınırlandırın: Yalnızca yetkili ikincil sunuculara izin verin
4. Birden fazla ad sunucusu kullanın: En az 2, tercihen farklı ağlarda olsun
5. Uygun TTL değerleri belirleyin: Önbellekleme faydası ile güncelleme hızını dengeleyin
6. Uygulamadan önce test edin: Yüklemeden önce bölge dosyası söz dizimini doğrulayın
7. Bölge aktarımlarını izleyin: İkincil sunucuların eşitlendiğinden emin olun
8. Yetkilendirmeleri belgeleyin: Hangi bölgelerin nereye devredildiğini not edin
9. Bölge dosyalarını yedekleyin: Düzenli yedekler veri kaybını önler
10. Sürüm denetimi kullanın: Bölge dosyası değişikliklerini zaman içinde izleyin
Gelişmiş Bölge Özellikleri
DNSSEC (Bölge imzalama)
Bölge kayıtlarını kriptografik olarak imzalayın:
example.com. IN A 203.0.113.50
example.com. IN RRSIG A 8 2 3600 (
signature-data-here )
Önbellek zehirlenmesine ve veri kurcalamaya karşı koruma sağlar.
Dinamik DNS (DDNS)
Programatik bölge güncellemelerine izin verin:
# Update A record dynamically
nsupdate -k Kupdate.key <<EOF
server ns1.example.com
update delete www.example.com A
update add www.example.com 300 A 203.0.113.51
send
EOF
Şu amaçlarla kullanışlıdır:
- Ev IP adresi güncellemeleri
- Otomatik ölçeklenen altyapı
- Hizmet keşfi
Bölge görünümleri (Split Horizon DNS)
İstemci IP adresine göre farklı bölge verileri sunun:
Internal clients: example.com → 10.0.0.50 (internal)
External clients: example.com → 203.0.113.50 (public)
Kullanım alanları:
- İç ve dış web sitesi sürümleri
- Özel ağ kaynakları
- Coğrafi tabanlı yanıtlar
Bölge Sorunlarını Giderme
Bölge aktarımı hataları
Belirti: İkincil sunucular eşitlenmiyor Denetlenecekler:# Check if primary allows transfers
dig @ns1.example.com example.com AXFR
# Check secondary logs for errors
tail -f /var/log/named.log
Çözümler:
- allow-transfer ayarlarını doğrulayın
- Sunucular arasındaki ağ bağlantısını denetleyin
- Seri numarasının artırıldığından emin olun
Seri numarası artmıyor
Belirti: Değişiklikler ikincil sunuculara yayılmıyor Çözüm: Her bölge düzenlemesinde seri numarasını artırınYetkilendirme çalışmıyor
Belirti: Alt alan adı çözümlenmiyor Denetlenecekler:# Verify delegation
dig example.com NS
dig api.example.com NS
# Should show different nameservers for delegated subdomain
Çözümler:
- Üst bölgede NS kayıtlarını doğrulayın
- Ad sunucuları alt alan adının içindeyse glue kayıtlarını denetleyin
- Alt bölgenin yapılandırıldığını doğrulayın
Dağıtık DNS yönetiminin temeli olan DNS bölgelerinin yapısını, yetkilendirmeyi ve yönetimini anlamak, her büyüklükteki kuruluş için DNS'i etkili biçimde tasarlamanızı sağlar.