Cloudflare DNS Nedir: Ücretsiz DNS Yönetimine Giriş
Domain adını aldın, hosting ayarladın, siteyi kurdun. Şimdi sıra DNS yönetimine geldi ve kayıt paneline girdiğinde onlarca teknik terim seni karşılıyor. Nameserver nedir, A kaydı ne işe yarar, TTL değeri ne anlama gelir? Eğer bu soruların cevaplarını arayarak buraya geldiysen, doğru yerdesin. Bu yazıda Cloudflare DNS’in ne olduğunu, neden bu kadar popüler olduğunu ve sıfırdan nasıl kullanacağını anlatacağım.
DNS Nedir, Neden Önemlidir
DNS, Domain Name System’in kısaltmasıdır. Basitçe söylemek gerekirse internet’in telefon rehberidir. Sen tarayıcına orneksite.com yazdığında, bilgisayarın bu domain adının arkasındaki IP adresini bulmak için DNS sorgusunu başlatır. Bu sorgu sonucunda 203.0.113.42 gibi bir IP adresine ulaşır ve gerçek bağlantı o zaman kurulur.
DNS olmadan interneti kullanmak, her web sitesi için IP adresini ezberlemek anlamına gelir. Bunun ne kadar pratik olmayacağını hayal etmek zor değil.
DNS yönetimi ise bu kayıtların tutulduğu sistemin kontrolünü elinde bulundurmak demektir. Yani orneksite.com adresine gelen birinin hangi sunucuya yönlendirileceğini, mail sunucunun nerede olduğunu, subdomain’lerin nereye işaret ettiğini sen belirliyorsun.
Cloudflare DNS Nedir
Cloudflare, 2009 yılında kurulan ve bugün dünyanın en büyük CDN ve güvenlik şirketlerinden biri olan bir yapıdır. Başlangıçta web güvenliği odaklı hizmetler sunan Cloudflare, zamanla kapsamlı bir DNS yönetim platformuna dönüştü.
Cloudflare DNS ücretsiz planında şunları sunuyor:
- Sınırsız DNS kaydı ekleme imkanı
- Anycast ağı üzerinden ultra hızlı DNS çözümleme
- DDoS koruması temel seviyede
- DNS Analytics ile sorgu istatistikleri
- DNSSEC desteği ücretsiz
- SSL/TLS sertifikası otomatik yönetim
- CDN proxy özelliği ile içerik dağıtım ağı
Peki neden bu hizmetlerin büyük kısmı ücretsiz? Cloudflare’in iş modeli kurumsal müşterilere gelişmiş güvenlik ve performans hizmetleri satmak üzerine kurulu. Ücretsiz plan, hem geniş bir ağ oluşturmak hem de küçük kullanıcıları platforma çekmek amacıyla sunuluyor.
Cloudflare ile Normal Hosting DNS Arasındaki Fark
Çoğu hosting firması, domain yönetimi için kendi nameserver’larını kullanır. cPanel, Plesk veya özel bir panel üzerinden DNS kayıtlarını düzenleyebilirsin. Bu sistemler işe yarar, ancak ciddi kısıtlamaları vardır.
Normal hosting DNS ile karşılaştığın sorunlar genellikle şunlardır:
- DNS propagasyon süresi saatler alabilir
- Analytics ve monitoring araçları yoktur veya yetersizdir
- DDoS koruması yoktur ya da ek ücrete tabidir
- Arayüz genellikle kullanıcı dostane değildir
- API erişimi kısıtlı veya yoktur
Cloudflare bu sorunların tamamını çözüyor. DNS değişiklikleri dakikalar içinde yayılır, gelişmiş analitik ücretsiz gelir ve API üzerinden her şeyi otomatize edebilirsin.
Cloudflare’e Domain Ekleme
Cloudflare’i kullanmaya başlamak için önce mevcut domain’ini Cloudflare’e taşıman gerekiyor. Domain’i satın aldığın yer değişmiyor, sadece nameserver kayıtlarını Cloudflare’in sunucularına yönlendiriyorsun.
Adımlar şöyle işliyor:
- Cloudflare.com üzerinde ücretsiz hesap aç
- “Add a Site” butonu ile domain adını gir
- Cloudflare mevcut DNS kayıtlarını otomatik tarar ve içe aktarır
- Sana iki adet nameserver adresi verir, bunlar şuna benzer:
nina.ns.cloudflare.comverod.ns.cloudflare.com - Domain’i aldığın registrar’ın paneline gidip nameserver’ları bu değerlerle değiştirirsin
- Cloudflare’in yeni nameserver’ları tanımasını beklersin, bu genellikle 24-48 saat sürer
Nameserver değişikliği yaptıktan sonra propagasyonu kontrol etmek için şu komutu kullanabilirsin:
# Nameserver kontrolü
dig NS orneksite.com +short
# Belirli bir DNS sunucusundan sorgula
dig NS orneksite.com @8.8.8.8 +short
# Cloudflare'in nameserver'larının aktif olup olmadığını kontrol et
dig NS orneksite.com @1.1.1.1 +short
Temel DNS Kayıt Türleri
Cloudflare paneline girdiğinde birkaç farklı kayıt türüyle karşılaşacaksın. Bunları anlamak, DNS yönetiminin temelidir.
A Kaydı
A kaydı, domain adını bir IPv4 adresine yönlendirir. En temel ve en sık kullanılan kayıt türüdür.
# A kaydını sorgula
dig A orneksite.com +short
# Sonuç
203.0.113.42
Cloudflare panelinde A kaydı eklerken şu alanları doldurursun:
- Type: A
- Name:
@(root domain için) veyawww(subdomain için) - IPv4 address: Sunucunun IP adresi
- Proxy status: Proxied veya DNS only
AAAA Kaydı
IPv6 adresi için kullanılır. IPv6 altyapısı olan sunucularda A kaydıyla birlikte eklenir.
# AAAA kaydını sorgula
dig AAAA orneksite.com +short
# Örnek IPv6 çıktısı
2001:db8::1
CNAME Kaydı
Bir domain adını başka bir domain adına yönlendirir. IP adresi yerine hostname kullanır.
# CNAME kaydını sorgula
dig CNAME www.orneksite.com +short
# Sonuç
orneksite.com.
Gerçek dünya senaryosu: www.orneksite.com adresini orneksite.com adresine yönlendirmek için CNAME kullanırsın. Ya da blog.orneksite.com adresini bir başka servisin hostname’ine, mesela orneksite.ghost.io gibi bir adrese yönlendirirsin.
MX Kaydı
Mail exchange kaydı, domain’e gelen e-postaların hangi mail sunucusuna iletileceğini belirler.
# MX kayıtlarını sorgula
dig MX orneksite.com +short
# Google Workspace örneği
1 aspmx.l.google.com.
5 alt1.aspmx.l.google.com.
5 alt2.aspmx.l.google.com.
10 alt3.aspmx.l.google.com.
10 alt4.aspmx.l.google.com.
TXT Kaydı
Metin bazlı bilgileri domain’e eklemek için kullanılır. SPF, DKIM, DMARC gibi mail güvenlik kayıtları ve domain doğrulama işlemleri için yaygın olarak kullanılır.
# TXT kayıtlarını sorgula
dig TXT orneksite.com +short
# SPF kaydı örneği
"v=spf1 include:_spf.google.com ~all"
NS Kaydı
Subdomain’ler için farklı bir nameserver kullanmak istediğinde NS kaydı eklersin.
SRV Kaydı
Belirli servisler için kullanılır. VoIP, XMPP gibi protokollerin hangi sunucu ve portta çalıştığını belirtir.
Cloudflare Proxy Özelliği
Cloudflare’in en güçlü özelliklerinden biri proxy modudur. DNS kaydının yanındaki turuncu bulut simgesi proxy’nin aktif olduğunu gösterir. Gri bulut ise sadece DNS çözümlemenin yapıldığını, Cloudflare’in trafiği proxylediğini göstermez.
Proxy modu aktifken şunlar gerçekleşir:
- Gerçek sunucu IP adresin gizlenir, ziyaretçiler Cloudflare IP’sini görür
- DDoS saldırıları Cloudflare’in ağında filtreden geçer
- Cloudflare CDN ağından içerik sunumu yapılır
- SSL/TLS sonlandırması Cloudflare edge’inde yapılır
- Web Application Firewall (WAF) devreye girer
# Proxy aktif domain için gerçek IP görünmez
dig A orneksite.com +short
# 104.21.x.x (Cloudflare IP'si görünür)
# Proxy kapalıyken gerçek IP görünür
dig A sub.orneksite.com +short
# 203.0.113.42 (Gerçek sunucu IP'si)
Önemli not: Mail kayıtları (MX), bazı API subdomain’leri ve direkt IP bağlantısı gerektiren servisler için proxy’i kapatman gerekebilir. Mail sunucuları kesinlikle proxy modunda olmamalıdır.
Cloudflare API ile DNS Yönetimi
Cloudflare’in gerçek gücü API üzerinden ortaya çıkıyor. Tek bir script ile onlarca DNS kaydını yönetebilir, otomasyon kurabilirsin.
API kullanmak için önce Cloudflare panelinden API Token alman gerekiyor. “My Profile > API Tokens > Create Token” yolunu izle ve “Edit zone DNS” template’ini seç.
# Zone ID'yi öğren
curl -X GET "https://api.cloudflare.com/client/v4/zones"
-H "Authorization: Bearer YOUR_API_TOKEN"
-H "Content-Type: application/json" | jq '.result[].id'
# Mevcut DNS kayıtlarını listele
ZONE_ID="your_zone_id_here"
API_TOKEN="your_api_token_here"
curl -X GET "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records"
-H "Authorization: Bearer ${API_TOKEN}"
-H "Content-Type: application/json" | jq '.result[] | {type: .type, name: .name, content: .content}'
# Yeni A kaydı ekle
curl -X POST "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records"
-H "Authorization: Bearer ${API_TOKEN}"
-H "Content-Type: application/json"
--data '{
"type": "A",
"name": "yenisubdomain",
"content": "203.0.113.42",
"ttl": 3600,
"proxied": false
}'
# Dinamik DNS script'i - sunucunun IP'si değişince otomatik güncelle
#!/bin/bash
ZONE_ID="your_zone_id"
API_TOKEN="your_api_token"
DOMAIN="ev.orneksite.com"
# Mevcut IP adresini al
CURRENT_IP=$(curl -s https://api.ipify.org)
# DNS kaydının ID'sini bul
RECORD_ID=$(curl -s -X GET
"https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records?name=${DOMAIN}"
-H "Authorization: Bearer ${API_TOKEN}"
-H "Content-Type: application/json" | jq -r '.result[0].id')
# Kaydı güncelle
curl -s -X PUT
"https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records/${RECORD_ID}"
-H "Authorization: Bearer ${API_TOKEN}"
-H "Content-Type: application/json"
--data "{
"type": "A",
"name": "${DOMAIN}",
"content": "${CURRENT_IP}",
"ttl": 300,
"proxied": false
}"
echo "IP updated to: ${CURRENT_IP}"
Bu son script’i crontab’a ekleyerek dinamik IP adresine sahip ev sunucuları veya VPS’ler için otomatik DNS güncellemesi yapabilirsin.
# Crontab'a ekle - her 5 dakikada bir çalıştır
crontab -e
# Şu satırı ekle:
# */5 * * * * /home/admin/scripts/ddns_update.sh >> /var/log/ddns.log 2>&1
TTL Değeri Nedir ve Nasıl Ayarlanır
TTL, Time to Live’ın kısaltmasıdır ve DNS kayıtlarının önbellekte ne kadar süre tutulacağını saniye cinsinden belirtir.
TTL değerini ayarlarken şu kuralı aklında tut:
- 300 saniye (5 dakika): Sık değişen, test aşamasındaki veya yakın zamanda migration yapılacak kayıtlar için
- 3600 saniye (1 saat): Genel kullanım için makul değer
- 86400 saniye (24 saat): Çok nadir değişen, kararlı kayıtlar için
Cloudflare proxy modundaki kayıtlar için TTL otomatik olarak “Auto” olarak ayarlanır ve bu değer genellikle 300 saniyedir. Proxy kapalıysa istediğin değeri girebilirsin.
# Bir kaydın TTL değerini kontrol et
dig A orneksite.com
# Çıktıda şuna benzer bir satır görürsün:
# orneksite.com. 300 IN A 203.0.113.42
# Burada 300, TTL değeridir
DNSSEC Nedir ve Nasıl Aktif Edilir
DNSSEC, DNS Security Extensions’ın kısaltmasıdır. DNS yanıtlarını kriptografik olarak imzalayarak DNS spoofing ve cache poisoning saldırılarına karşı koruma sağlar.
Cloudflare ücretsiz planda DNSSEC’i tek tıkla aktif edebilirsin:
- Cloudflare panelinde domain’ini seç
- “DNS” sekmesine git
- “DNSSEC” bölümünü bul
- “Enable DNSSEC” butonuna tıkla
- Cloudflare sana DS (Delegation Signer) kaydını verecek
- Bu kaydı domain registrar’ının paneline eklemen gerekiyor
# DNSSEC durumunu kontrol et
dig DNSKEY orneksite.com +short
# DS kaydını sorgula
dig DS orneksite.com +short
# DNSSEC doğrulamasını test et
dig orneksite.com +dnssec +short
Gerçek Dünya Senaryosu: E-ticaret Sitesi Kurulumu
Diyelim ki yeni bir e-ticaret projesi kurdun. Ana site orneksite.com adresinde, blog blog.orneksite.com adresinde, API ise api.orneksite.com adresinde çalışacak. Ayrıca Google Workspace kullanarak kurumsal mail yapılandırman gerekiyor.
Bu senaryoda Cloudflare’e şu kayıtları eklemen gerekiyor:
# Eklenecek kayıtları doğrulamak için dig ile test et
# Ana site - proxy aktif
dig A orneksite.com +short
# 203.0.113.42
# www subdomain'i - CNAME ile ana domain'e yönlendirme
dig CNAME www.orneksite.com +short
# orneksite.com.
# Blog - farklı sunucuda, proxy aktif
dig A blog.orneksite.com +short
# 203.0.113.50
# API - proxy kapalı (direkt bağlantı gerekiyor)
dig A api.orneksite.com +short
# 203.0.113.42
# Mail kayıtları - proxy OLMAMALI
dig MX orneksite.com +short
# 1 aspmx.l.google.com.
# SPF kaydı - mail spoofing koruması
dig TXT orneksite.com +short
# "v=spf1 include:_spf.google.com ~all"
Cloudflare panelinde bu kayıtları eklerken dikkat edilmesi gereken nokta şu: MX kayıtları ve SPF gibi TXT kayıtları için proxy zaten aktif edilemiyor, Cloudflare buna izin vermiyor. Ama A kaydı olan api.orneksite.com için proxy’i manuel olarak kapatman gerekiyor, çünkü mobil uygulaman doğrudan TCP bağlantısı kuruyor olabilir.
Cloudflare DNS ile SSL Sertifikası Yönetimi
Proxy modu aktifken Cloudflare, ziyaretçi ile Cloudflare arasındaki bağlantı için otomatik olarak SSL sertifikası sağlar. Ancak Cloudflare ile sunucun arasındaki bağlantı için de yapılandırma yapman gerekiyor.
SSL/TLS modları şunlardır:
- Off: HTTP kullanılır, güvensiz, asla kullanma
- Flexible: Ziyaretçiden Cloudflare’e HTTPS, Cloudflare’den sunucuya HTTP
- Full: Her iki tarafta da SSL, ancak sunucu sertifikası doğrulanmaz
- Full (Strict): Her iki tarafta da SSL, sunucu sertifikası doğrulanır (önerilen)
# Sunucundaki SSL sertifikasını kontrol et
openssl s_client -connect orneksite.com:443 -servername orneksite.com 2>/dev/null | openssl x509 -noout -dates
# Cloudflare edge sertifikasını kontrol et
curl -vI https://orneksite.com 2>&1 | grep -E "SSL|certificate|issuer"
Full Strict modunu kullanmak için sunucunda geçerli bir SSL sertifikası olmalı. Let’s Encrypt sertifikası bu iş için mükemmel çalışır ve Cloudflare tarafından kabul edilir.
Sık Yapılan Hatalar
Cloudflare’e geçerken ya da DNS yönetirken sıkça yapılan hataları bir kenara not etmekte fayda var:
- MX kayıtlarını proxylemeye çalışmak: Mail trafiği proxy üzerinden geçemez. Cloudflare zaten MX kayıtlarında proxy seçeneği sunmuyor ama bazı A kayıtlarına bağlı mail yapılandırmalarında proxy’i kapatmayı unutabilirsin.
- TTL değerini çok yüksek bırakmak: Migration öncesi TTL’i düşürmeyi unutursan değişiklikler saatlerce yayılmayabilir. Migration’dan en az 24 saat önce TTL’i 300’e çek.
- API token’ı güvenli saklamama: API tokenını kod içine gömmek yerine environment variable veya secret management sistemi kullan.
- Kayıt silmeden önce yedek almamak: Büyük bir DNS değişikliği öncesi mevcut kayıtları export et.
# Tüm DNS kayıtlarını yedekle
curl -X GET "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records?per_page=100"
-H "Authorization: Bearer ${API_TOKEN}"
-H "Content-Type: application/json" | jq '.result' > dns_backup_$(date +%Y%m%d).json
Cloudflare Free Plan Sınırlamaları
Ücretsiz plan çoğu kullanım senaryosu için yeterli olsa da bazı sınırlamalar var:
- Page Rules 3 adet ile sınırlı (Workers ile bu sınırı aşabilirsin)
- WAF özel kuralları sınırlı
- Analytics veri geçmişi 24 saat ile sınırlı
- Cloudflare Images, Stream gibi medya servisleri ücretli
- DDoS koruması temel seviyede, gelişmiş koruma Pro ve üstü planlarda
Yine de küçük ve orta ölçekli projeler için ücretsiz plan ihtiyacı fazlasıyla karşılıyor.
Sonuç
Cloudflare DNS, hem yeni başlayanlar hem de deneyimli sysadmin’ler için gerçekten değerli bir araç. Ücretsiz olmasına rağmen sunduğu özellikler pek çok ücretli alternatifi gölgede bırakıyor. DNS yönetimini basitleştiriyor, güvenlik katmanı ekliyor ve güçlü bir API ile tam otomasyon imkanı sağlıyor.
Başlangıç için önerim şu: Domain’ini Cloudflare’e taşı, mevcut kayıtların doğru aktarıldığını doğrula, ve proxy modunu yavaş yavaş aktif etmeye başla. Önce statik içerik sunan subdomain’lerde dene, sorun çıkmazsa ana domain’de de aktif et.
DNS yönetimi ilk bakışta karmaşık görünebilir, ancak temel kayıt türlerini öğrendikten sonra Cloudflare’in arayüzü işleri oldukça kolaylaştırıyor. Bir sonraki adım olarak Cloudflare Workers, Page Rules ve gelişmiş güvenlik özelliklerini inceleyebilirsin. Cloudflare ekosistemi içinde derinleştikçe, ücretsiz planla bile neler yapabileceğine şaşıracaksın.
