Buyukweb
CDN ve DNS: GeoDNS ile Coğrafi Yönlendirme Yapılandırması

CDN ve DNS: GeoDNS ile Coğrafi Yönlendirme Yapılandırması

GeoDNS ile kullanıcıları en yakın sunucuya yönlendirme, Anycast DNS, global CDN mimarisi ve düşük gecikme için en iyi DNS stratejileri.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü11 dakika okuma

GeoDNS ve Coğrafi DNS Yönlendirme: Anycast, ECS ve Multi-Origin Yapısı (2026)

Bir e-ticaret sitesi yönetiyorsunuz. Türkiye müşteriniz sayfayı 80 ms'de açıyor; Frankfurt'tan alışveriş yapan müşteriniz 320 ms bekliyor. İkisi aynı sunucuya bağlanıyor çünkü DNS herkese aynı IP'yi döndürüyor. İşte bu fark, GeoDNS'in tam olarak çözdüğü problemdir.

Bu rehberde GeoDNS'in nasıl çalıştığını, anycast ile farkını, EDNS Client Subnet (ECS / RFC 7871) ile proxy arkasındaki kullanıcıların doğru yönlendirilmesini ve Cloudflare Geo Steering ile multi-origin yapısının kurulumunu açıklıyoruz. Buyukweb perspektifi baştan net: yalnızca Türkiye'ye hizmet veriyorsanız GeoDNS gerekmez. Bursa Pendc Tier 3 veri merkezindeki sunucunuz Türkiye trafiği için zaten yakınlık avantajı sağlıyor. GeoDNS anlamlı hale geldiği an, Türkiye dışı pazarlara ciddi trafik almaya başladığınızda.

Bu yazı, Cloudflare DNS yönetimi ve CDN genel mimarisini ele alan rehberle aynı şeyi anlatmıyor. Orada DNS record yönetimi, CDN ve DDoS katmanı işlendi. Burada odak: coğrafi DNS yönlendirme mekanizması — anycast vs. unicast, ECS protokolü, yönlendirme tipleri, multi-origin failover ve TTL dengesi.

GeoDNS Nedir ve Neden Önemlidir?

GeoDNS, aynı domain adı için farklı coğrafi konumlardaki istemcilere farklı IP adresleri döndüren DNS yöntemidir. Temel DNS sorgusu herkese aynı cevabı verirken GeoDNS, sorguyu yapan çözümleyicinin (resolver) lokasyonunu tespit eder ve o bölgeye en yakın origin sunucusunun IP'sini döndürür.

# Normal DNS — herkese aynı IP
buyukweb.com IN A   195.85.100.50   ; Bursa sunucu

# GeoDNS — bölgeye göre farklı IP
Türkiye resolver → 195.85.100.50    ; Bursa (Pendc Tier 3)
Almanya resolver → 185.20.50.10     ; Frankfurt origin
ABD resolver     → 104.21.70.55     ; New York origin
Varsayılan       → 195.85.100.50    ; fallback Bursa

Coğrafi yönlendirmenin sağladığı üç ana kazanım:

Kazanım Açıklama
Düşük latency Kullanıcı en yakın sunucuya bağlanır; RTT azalır
Bölgesel failover Bir bölge çöktüğünde trafik başka bölgeye geçer
Veri yerleşimi uyumu AB kullanıcısı AB sunucusuna → GDPR 9. madde kolaylaşır

Unicast vs. Anycast: Temel Ayrım

GeoDNS ile anycast sık karıştırılır. Aslında farklı katmanlarda çalışan iki mekanizmadır.

Özellik Unicast GeoDNS BGP Anycast
Çalışma katmanı DNS uygulama katmanı BGP ağ katmanı
Aynı IP birden fazla lokasyonda? Hayır Evet
Yönlendirme kararı nerede? DNS sunucusu (GeoIP lookup) BGP router'ları (AS-path, metrik)
Güncelleme süresi DNS TTL kadar (saniyeler-dakikalar) BGP convergence (~90 sn)
Tipik kullanım Web sunucu origin routing DNS resolver, CDN PoP
DDoS dağılımı Kısmi Kuvvetli (saldırı dağılır)

Anycast nasıl çalışır? Yüzlerce sunucu aynı IP'yi BGP üzerinden duyurur; ISS'iniz paketi AS-path'e göre en yakın PoP'a yönlendirir. Türkiye'den giden sorgu İstanbul PoP'una, Almanya'dan giden Frankfurt PoP'una düşer — aynı IP, farklı fiziksel lokasyon.

GeoDNS ise farklı IP'ler döndürür. DNS sunucusu "sen Almanya'dasın, sana Frankfurt IP'sini vereyim" kararını alır. Sonuç benzer görünse de mekanizma farklıdır.

Buyukweb perspektifi: Anycast BGP altyapısı büyük ağ operatörlerinin işidir. Pratik çözüm: Cloudflare'in anycast DNS'ini NS kayıtlarınıza atamak — DNS çözümlemesi Cloudflare PoP'larından anycast olur, Buyukweb Bursa origin'e sadece gerçek içerik istekleri ulaşır.

EDNS Client Subnet (ECS / RFC 7871)

Büyük bir problem vardır: Türkiye'deki kullanıcı, CGNAT veya şirket proxy'si arkasında çalışıyorsa DNS sorgusu onun IP'sinden değil proxy'nin IP'sinden gelir. Proxy yurt dışındaysa GeoDNS onu yanlış bölgeye yönlendirebilir.

Bu sorunu çözmek için EDNS Client Subnet (ECS) tanımlandı: RFC 7871.

# ECS olmadan — GeoDNS proxy IP'sini görür
Kullanıcı IP: 78.188.10.5 (TR)      ← gerçek kullanıcı
Proxy IP:     84.15.220.1 (DE)       ← DNS sorgusu buradan geliyor
GeoDNS kararı: "Almanya resolver → Frankfurt IP ver"  ← YANLIŞ

# ECS ile — kullanıcının subnet'i DNS sorgusuna ekleniyor
DNS sorgusu içinde: client subnet = 78.188.10.0/24
GeoDNS kararı: "Türkiye subnet → Bursa IP ver"       ← DOĞRU

ECS desteğini test etmek için:

# dig +subnet ile ECS simülasyonu
# Türkiye IP aralığından geliyormuş gibi sor
dig +subnet=78.188.0.0/16 buyukweb.com @1.1.1.1

# Frankfurt'tan geliyormuş gibi sor
dig +subnet=185.12.0.0/16 buyukweb.com @1.1.1.1

# Sonuçları karşılaştır — GeoDNS aktifse farklı A record dönmeli

ECS'nin çalışabilmesi için resolver'ın da desteklemesi gerekir. Cloudflare ve büyük açık resolver'lar ECS'yi destekler. Bazı gizlilik odaklı resolver'lar ise ECS'yi kasıtlı kapatır; bu durumda GeoDNS resolver konumuna geri döner. IP-lokasyon eşleştirmesinde MaxMind GeoIP2 sektör standardıdır; büyük ISP'ler için yüksek doğruluklu, küçük bölgesel ISP'lerde hata payı olabilir.

DNS Yönlendirme Tipleri: Round-Robin, Weighted, Geolocation

Tek bir DNS yapısına karar vermeden önce yönlendirme tiplerini karşılaştıralım:

Tip Nasıl Çalışır Ne Zaman Uygun? Dezavantaj
Round-robin Her sorguya sırayla farklı IP döndür Basit yük dağılımı Coğrafi optimizasyon yok; tüm sunucular eşit güçte olmalı
Weighted IP'lere ağırlık ata (örn. %70 Bursa, %30 Frankfurt) Kapasite farkı varsa Bölgesel optimizasyon hâlâ yok
Latency-based Sorguya en kısa süre cevap veren pool'u seç Yük testleriyle belirlenen en hızlı bölge Ölçüm overhead'i; sık değişirse instabilite
Geolocation-based Resolver IP / ECS subnet'e göre bölge → sabit IP Kesin bölgesel yönlendirme GeoIP hataları yönlendirmeyi bozabilir
Failover (öncelikli) Primary sağlıklıysa P1, değilse P2 Tek-bölge HA Coğrafi dağıtım yok, sadece yedekleme

Çoğu production senaryosunda geolocation + failover hibrit kullanılır: her bölgede primary + secondary origin bulunur, GeoDNS önce bölgeye atar, sağlık kontrolü başarısız olursa aynı bölgenin secondary'sine veya varsayılan (default) bölgeye geçer.

Multi-Origin Mimarisi

Buyukweb müşterisi için pratik multi-origin: Türkiye'deki Buyukweb VDS primary origin, Cloudflare Geo Steering katmanında önünde durur.

# Cloudflare Load Balancer — Geo Steering (Dashboard > Traffic > Load Balancing)
load_balancer:
  name: "buyukweb-geo-lb"
  fallback_pool: "pool-tr-primary"
  steering_policy: "geo"

pools:
  pool-tr-primary:
    origins: [{address: "195.85.100.50"}]  # Buyukweb Bursa Pendc Tier 3
    monitor: "monitor-http-health"
  pool-eu-secondary:
    origins: [{address: "185.20.50.10"}]   # AB origin
    monitor: "monitor-http-health"

region_routing:
  WEUR: "pool-eu-secondary"   # Batı Avrupa → AB origin
  EEUR: "pool-eu-secondary"   # Doğu Avrupa → AB origin
  ME:   "pool-tr-primary"     # Orta Doğu → TR
  default: "pool-tr-primary"  # diğer bölgeler → TR fallback

Buyukweb VDS'de Nginx ile multi-origin upstream da tanımlanabilir: primary origin Bursa, backup olarak AB sunucu veya TR yedek. Cloudflare katmanı coğrafi kararı alır, Nginx sunucu başına failover'ı halleder. İkisi birlikte çalışır.

Sağlık Kontrolleri (Health Check)

GeoDNS ve load balancer'ın otomatik failover yapabilmesi için origin sunucuların sürekli izlenmesi gerekir. Sağlık kontrolü başarısız olan origin, trafik almaktan çıkarılır.

Cloudflare Load Balancer'da monitor: type=http, path=/health, interval=60, timeout=5, retries=2. Origin sunucuda Nginx ile location /health { return 200 "OK"; } yeterlidir.

Sağlık kontrol stratejisinde üç kritik nokta: (1) Interval çok kısa (10 sn altı) ve retry=1 olursa geçici ağ titremesi gereksiz failover tetikler — interval=60, retry=2 önerilen denge. (2) Cloudflare sağlık kontrollerini kendi IP aralıklarından yapar; güvenlik duvarınızda bu aralıkları açın. (3) TCP ping değil her zaman HTTP(S) health check kullanın — uygulama çökmüş ama TCP portu açıksa yanlış "sağlıklı" sonucu verir.

TTL Stratejisi: Coğrafi Yönlendirme ile TTL Dengesi

GeoDNS'in en sık görmezden gelinen boyutu TTL (Time-To-Live). TTL ne kadar yüksekse DNS sunucusu o kadar az sorgu alır ama coğrafi yönlendirme değişikliği o kadar geç yayılır.

Senaryo Önerilen TTL Neden?
Aktif GeoDNS origin (değişebilir) 30–300 sn Hızlı failover için kısa TTL
Sabit TR origin (değişmez) 3600–86400 sn DNS sunucu yükünü azaltır
Planlı migrasyon öncesi (48 saat önce) 60–120 sn'ye düşür Propagasyon penceresi küçülür
Migrasyon tamamlandıktan sonra 3600 sn'ye geri al Normal yük
CDN CNAME (Cloudflare önünde) 300 sn Cloudflare kendi cache'ini yönetir

TTL kısa tutmanın maliyeti: her istemci her TTL süresince DNS sunucusuna yeniden sorgu atar. Dünya genelinde milyonlarca kullanıcınız varsa 30 sn TTL, DNS sorgu yükünü ciddi büyütür. Küçük-orta ölçek (günde 100K altı ziyaret) için 300 sn ideal denge noktasıdır.

# PowerDNS GeoIP zone — /etc/powerdns/geoip-zones/buyukweb.com.yaml
domain: buyukweb.com
ttl: 300
records:
  buyukweb.com:
    - a:
        country:
          TR: 195.85.100.50   # Bursa Pendc Tier 3
          DE: 185.20.50.10    # AB origin
          '': 195.85.100.50   # fallback TR
      ttl: 60

Test Araçları: Yönlendirmenin Doğrulanması

GeoDNS yapılandırmasını devreye aldıktan sonra gerçekten çalışıp çalışmadığını doğrulamak için:

# ECS simülasyonu — farklı subnet'ten sorgu at
dig +subnet=78.188.0.0/16 @1.1.1.1 buyukweb.com  # TR olarak sorgula
dig +subnet=85.214.0.0/16 @1.1.1.1 buyukweb.com  # DE olarak sorgula
# Farklı A record dönüyorsa GeoDNS çalışıyor

# GeoIP doğrulama
curl -s "https://ipinfo.io/78.188.10.5/country"   # "TR" çıkmalı

# TTL kalan süre
dig +ttl buyukweb.com @1.1.1.1

Bölgesel propagasyon için whatsmydns.net veya dnschecker.org farklı ülke resolver'larından dönen A record'u gösterir. Gerçek test için bir VPN ile Frankfurt'a bağlanıp sitenize girin; X-Served-By response header hangi origin'e düştüğünüzü açıkça söyler.

Cloudflare Geo Steering Örneği: Buyukweb Önünde Katman

Buyukweb şu an tek bölgeli altyapı sunuyor (Türkiye, Bursa). Multi-origin kurulum için Cloudflare Load Balancer (ücretli plan) Buyukweb origin önünde coğrafi yönlendirme katmanı görevi görür: Türkiye resolver → Buyukweb Bursa Pendc Tier 3 origin; Almanya resolver → AB origin. AB origin çökerse health check 60–120 sn içinde fark eder, trafik otomatik TR Bursa'ya döner.

Bu yapıda cPanel DNS Zone Editor'ından sadece NS kayıtları Cloudflare'e yönlendirilir. Tüm GeoDNS konfigürasyonu Cloudflare tarafında kalır; Buyukweb sunucusu origin olarak çalışır, doğrudan internete açık olmak zorunda değildir (origin gizleme).

Buyukweb cPanel'de doğrudan GeoDNS yok. cPanel DNS Zone Editor temel kayıt yönetimi (A, AAAA, CNAME, MX, TXT, SRV) sağlar. GeoDNS gibi gelişmiş coğrafi yönlendirme, Cloudflare Load Balancer veya yönetilen GeoDNS sağlayıcıları (jenerik üçüncü taraf DNS hizmetleri) aracılığıyla yapılır ve Buyukweb origin önünde çalışır.

GeoDNS Sağlayıcı Kategorileri

Kategori Uygun Senaryo
CDN entegre (Cloudflare Load Balancer Geo Steering) TR + AB + ABD trafiği olan web uygulamaları
Yönetilen bulut DNS servisleri (jenerik) Enterprise, yüksek SLA gerektiren yapılar
Açık kaynak (PowerDNS GeoIP, BIND9 GeoIP modülü) Buyukweb VDS'de tam kontrol + sabit ₺ maliyet
Anycast tabanlı resolver (Cloudflare, Quad9) Resolver latency optimizasyonu — origin yönlendirme değil

Açık kaynak seçenek — Buyukweb VDS'de PowerDNS:

Buyukweb VDS (root erişim) üzerinde pdns-backend-geoip paketiyle PowerDNS kurarak kendi GeoDNS sunucunuzu işletebilirsiniz. MaxMind GeoLite2 Community (ücretsiz) veritabanını /usr/share/GeoIP/ altına yerleştirip pdns.conf içinde launch=geoip ve geoip-database-files ile aktive edersiniz. Avantajı: tam kontrol, sabit ₺ maliyet. Dezavantajı: GeoIP veritabanını güncel tutma sorumluluğu sizde; anycast altyapısı olmadığı için resolver latency optimizasyonu Cloudflare kadar güçlü değil.

Sıkça Sorulan Sorular

GeoDNS nedir, ne işe yarar?

GeoDNS, DNS sorgusunu yapan çözümleyicinin (resolver) coğrafi konumuna göre farklı IP adresleri döndüren yöntemdir. Türkiye'den gelen kullanıcıya Türkiye sunucusunun IP'si, Almanya'dan gelene Almanya sunucusunun IP'si verilir. Sonuç: her kullanıcı en yakın origin'e bağlanır, latency düşer.

Anycast ile GeoDNS arasındaki fark nedir?

Anycast, aynı IP'nin BGP aracılığıyla birden fazla lokasyonda duyurulmasıdır; ağ katmanında çalışır ve özel BGP altyapısı gerektirir. GeoDNS ise DNS uygulama katmanında farklı IP'ler döndürür; BGP'ye gerek yok ama her lokasyonun farklı bir IP'si olmalı. Pratik kullanımda ikisi çoğu zaman birlikte kullanılır: anycast DNS çözümlemesi + geolocation-based origin yönlendirme.

EDNS Client Subnet (ECS) ne zaman kritik?

Kullanıcılarınız CGNAT, kurumsal proxy veya büyük ISP shared resolver arkasındaysa ECS kritik olur. ECS olmadan DNS sorgusu proxy'nin IP'sinden gelir ve GeoDNS yanlış bölgeye yönlendirebilir. ECS, kullanıcının gerçek subnet'ini DNS sorgusuna ekleyerek bu sorunu çözer. dig +subnet komutu ile ECS simüle edip yönlendirmeyi test edebilirsiniz.

Buyukweb hosting'de GeoDNS nasıl yapılır?

Buyukweb cPanel DNS Zone Editor temel kayıt yönetimi sağlar (A, AAAA, CNAME, MX, TXT, SRV). cPanel'de doğrudan GeoDNS desteği yoktur. Bunun için iki seçenek: (1) Cloudflare'e NS devrederek Cloudflare Load Balancer Geo Steering kullanmak — Buyukweb origin önünde çalışır. (2) Buyukweb VDS üzerinde PowerDNS + GeoIP backend kurmak — kendi GeoDNS sunucunuz. Her iki yapıda Buyukweb Bursa Tier 3 sunucusu origin olarak çalışır.

DNS TTL ile GeoDNS failover hızı nasıl dengelenir?

TTL ne kadar kısaysa failover o kadar hızlı yayılır ama DNS sorgu yükü artar. Aktif GeoDNS origin için TTL 60–300 sn önerilir. Failover beklenmiyorsa (sabit TR origin) TTL 3600 sn makul. Planlı geçiş veya test öncesi 48 saat önceden TTL'i 60 sn'ye düşürün, değişikliği yaptıktan 1-2 gün sonra normale alın.

Sadece Türkiye trafikliyim, GeoDNS kurmalı mıyım?

Hayır. Yalnızca Türkiye'ye hizmet veren bir site için Buyukweb Bursa Pendc Tier 3 sunucusu zaten coğrafi yakınlık avantajı sağlar. GeoDNS ekstradan maliyet ve yapılandırma karmaşıklığı getirir, anlamlı performans kazancı sağlamaz. GeoDNS'i düşünün: Türkiye dışı pazarlarda (AB, ABD) ciddi trafik aldığınızda veya bölgesel failover zorunluluğu olduğunda.

Multi-origin failover ne kadar sürede devreye girer?

Cloudflare Load Balancer varsayılan sağlık kontrolü interval=60 sn, retry=2. Yani en kötü senaryoda 120 sn içinde failover algılanır. DNS TTL=60 sn ise toplam geçiş süresi 3 dakikayı geçmez. TTL=30 sn ve interval=30 sn yapılandırmasıyla bu süre 90 sn'ye indirilebilir ama DNS sorgu yükü ve false positive riski artar.

Sonuç

GeoDNS her projeye gerekmez. Türkiye odaklı işletme için Buyukweb Bursa Tier 3 altyapısı zaten optimum yakınlık sağlar. Türkiye dışı pazarlara gerçek trafik aldığınızda ve birden fazla origin kurmaya hazır olduğunuzda GeoDNS devreye girer. Özet: anycast ağ katmanı, GeoDNS DNS katmanı; ECS (RFC 7871) proxy arkasındaki kullanıcı sorununu çözer; TTL kısa failover sürati ile DNS yük dengesi arasında trade-off; Cloudflare Geo Steering Buyukweb önünde pratik katman; PowerDNS GeoIP ise VDS'de tam kontrollü açık kaynak seçenek.

Teknik sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.


İlgili Büyükweb Hizmetleri

Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.

Domain & DNS İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#geodns#cdn#anycast#dns failover#coğrafi yönlendirme#load balancing

Bu yazıyı paylaş