DNS
Yetkili DNS barındırma. Kayıtlarını tutar, anycast ağdan yanıtlar ve turuncu bulutla proxy'yi açıp kapatan kontrol noktasıdır.
- DurumGenel kullanımda
- FiyatÜcretsiz — sorgu ölçülmez ve sınırlanmaz (Enterprise'da hacim teklife girdi olur)
- Ücretsiz katmanvar
- Doğrulama
DNS nedir?
Resmî tanım:
“Cloudflare DNS is a fast, resilient, and easy-to-manage authoritative DNS service. It delivers excellent performance and reliability to your domain while also protecting your business from DDoS attacks and route leaks and hijacking.”
Tüm planlarda kullanılabilir.
Çözdüğü şey dört başlıkta toplanıyor: anycast ağdan küresel yanıt, DNS katmanının kendisine yönelik DDoS’a dayanıklılık, tamamen API ve Terraform ile yönetilebilirlik, ve — çoğu kaynağın atladığı dördüncüsü — Cloudflare’in ters proxy’sini hostname bazında açıp kapatan kontrol noktası olması. Turuncu bulut buradan çalışır.
Nasıl çalışır?
Dört zone kurulum tipi
| Tip | Ne yapar | Plan |
|---|---|---|
| Primary (Full) | Cloudflare birincil DNS sağlayıcın, kayıtları Cloudflare’de yönetirsin | Hepsi |
| CNAME (Partial) | Mevcut DNS sağlayıcın kalır, yalnızca tek tek subdomain’leri proxy’lersin | Business+ |
| Zone transfers | Cloudflare ve başka bir sağlayıcı zone genelinde birlikte; AXFR/IXFR ile aktarım | Enterprise |
| Subdomain setup | Delege edilmiş bir subdomain’i ayrı zone (ve hatta ayrı hesap) olarak yönetmek | Enterprise |
Resmî ifade net: “If you are on a Free or Pro plan, primary setup (full) is the only one available.”
Partial (CNAME) kurulum ve üç uyarısı
Üç adım: panelde Convert to CNAME DNS Setup (veya API’de "type": "partial"), gerçek DNS
sağlayıcında doğrulama TXT kaydı, ve her proxy’li hostname için
{hostname}.cdn.cloudflare.net’e CNAME.
Doğrulama kaydı kalıcıdır: “The verification record must remain in place for as long as your domain is active on a CNAME setup on Cloudflare.”
Proxy durumu — turuncu bulut
“Only records used for IP address resolution — A, AAAA, and CNAME records — can be proxied. Other record types (such as MX or TXT) are always DNS-only.”
Proxy’li kayıt sorgulandığında Cloudflare anycast IP’leri döner. DNS-only kayıt sorgulandığında gerçek origin IP’si döner — ve “This exposes your origin IP address to anyone who queries the record.”
Panelden alan adı eklerken proxy varsayılan olarak açıktır.
Cloudflare bazı kayıtları proxy’lemeyi doğrudan engelliyor — çoğu e-posta doğrulama kaydı:
| Eşleşme | Hedefler |
|---|---|
| Tam eşleşme | dkim2.mcsv.net, dkim3.mcsv.net, zmverify.zoho.com, dkim.infusionmail.com |
| Tam eşleşme veya alt alan | dkim.amazonses.com |
| Alt alan | onmicrosoft.com, dkim.intercom.io, acm-validations.aws |
Diğer proxy kısıtları:
- NTLM ve Kerberos çalışmaz. “Because Microsoft Integrated Windows Authentication, NTLM, and Kerberos violate HTTP/1.1 specifications, they are not compatible with proxied DNS records.”
- Standart dışı port veya TCP/UDP için Spectrum gerekiyor.
- Zone aktifleşene kadar hiçbir şey proxy’lenmiyor — turuncu bulut açık görünse bile.
- Aktivasyon sonrası öneri: “we recommend rolling your origin IP addresses at your hosting provider after your zone has been activated. This action prevents your origin IPs from being leaked during onboarding.”
Proxy’lemenin bedava bir yan faydası var:
“For proxied records, if your domain has HTTP/2 or HTTP/3 enabled and is also using Universal SSL, Cloudflare automatically generates HTTPS Service (HTTPS) records on the fly. These DNS records provide clients with information about how to connect to your server upfront, without the need for an initial plaintext HTTP connection to discover supported protocols.”
TTL davranışı
“By default, all proxied records have a TTL of Auto, which is set to 300 seconds. This value cannot be edited.”
Gerekçesi: Cloudflare kayda atadığı anycast IP’sini değiştirirse, çözümleyiciler eski adresi beş dakikadan uzun tutmasın.
DNS-only kayıtlarda aralık 30 saniye (Enterprise) veya 60 saniye (diğer planlar) ile 1 gün arası. Nameserver TTL’i ayrı bir ayardır ve yalnızca Foundation DNS’te düzenlenebilir (varsayılan 86.400 saniye, aralık 30–86.400).
CNAME flattening
“CNAME flattening speeds up CNAME resolution and allows you to use a CNAME record at your zone apex (
example.com).”
Cloudflare CNAME’in işaret ettiği IP’yi bulur ve CNAME yerine nihai IP’yi döndürür. Proxy’li CNAME’ler zaten varsayılan olarak flatten edilir. Cloudflare Pages’te kök alan adı kullanmayı mümkün kılan da budur.
İki tuzak:
- “If a CNAME target is being used to verify a domain for a third-party service, turning on CNAME flattening for all CNAME records may cause the verification to fail since the CNAME record itself will not be returned directly.”
- “If the final CNAME target has no A/AAAA records (a dangling CNAME), CNAME flattening returns an empty response (NODATA)… This can make it appear as if the DNS record is not propagating.”
DNSSEC
Cloudflare zone’u imzalar, açık anahtarları yayımlar ve DS kaydını üretir. Tercih edilen algoritma 13’tür ve registrar’ında bu adla listelenmemişse “it may also be called ECDSA Curve P-256 with SHA-256.”
Cloudflare Registrar kullanıcıları ile .ch ve .cz alan adlarında DS kaydı otomatik ekleniyor.
.tr bu otomasyonun dışında — DS kaydını Türk registrar’ında elle eklemen gerekiyor.
Multi-signer DNSSEC (RFC 8901) bu zorunluluğu kaldıran yoldur: “allows you to migrate zones to Cloudflare without having to disable DNSSEC.” İki model destekleniyor — Model 1’de tek KSK zone sahibinde, Model 2’de her sağlayıcı kendi KSK’siyle imzalıyor ve DS her ikisine referans veriyor. Mevcut sağlayıcın dış DNSKEY kaydı kabul ediyorsa sıfır kesintili göç mümkün.
NSEC3 Haziran 2025’ten beri Enterprise’da mevcut, hem live-signed hem pre-signed zone’larda.
Zone transfer ve secondary DNS
“Authoritative zone transfer (AXFR): Copies the entire zone from the primary to the secondary provider, even if only one record changes.”
“Incremental zone transfer (IXFR): Transfers only the changes since the last transfer, rather than the entire zone.”
Cloudflare ikisini de destekliyor. Zone başına en fazla 30 peer, her peer yalnızca bir TSIG ile. Tamamı Enterprise.
Bir tuzak: Cloudflare’i secondary olarak kullanıp Secondary DNS Overrides ile kayıtları proxy’li yapıyorsan, “opting for Pre-signed DNSSEC will cause Cloudflare to treat your records as DNS-only.”
DNS Firewall — yetkili DNS değil
Bu ayrı bir Enterprise eklentisi ve sık karıştırılıyor:
“Cloudflare DNS Firewall proxies all DNS queries to your nameservers through Cloudflare’s global network. This action protects upstream nameservers from DDoS attacks and reduces load by caching DNS responses.”
“DNS Firewall is for customers who need to speed up and protect entire authoritative nameservers. If you need to speed up and protect individual zones, refer to Cloudflare DNS Setups.”
Yani kendi BIND’ini bırakmak istemeyen kurumlar için. İki dikkat çekici davranışı var: cache’te yer varsa TTL dolsa bile kayıt zorla silinmiyor — “This feature allows Cloudflare to serve stale objects from cache if your nameservers are offline.” Ve ECS desteğinin bir bedeli var: “EDNS limits the effectiveness of the DNS cache.”
Veri merkezi seçimi konusunda önemli bir cümle: “Queries go to the Cloudflare data center that is closest to the website visitor. This is determined by the location of the DNS resolver.”
Kayıt tipleri
Proxy’lenebilir: A, AAAA, CNAME. E-posta: MX artı TXT tabanlı DKIM/SPF/DMARC. Özel: TXT, CAA, SRV, SVCB, HTTPS, PTR, SOA, NS, DS, DNSKEY. Daha az yaygın olanlar: URI, NAPTR, SSHFP, TLSA, SMIMEA, CERT.
ANAME desteklenmiyor — dokümantasyon bu soruyu CNAME flattening’e yönlendiriyor.
NS kaydı sınırı: “Cloudflare supports up to 10 NS records per delegation name, but the best practice is to keep the set at seven or fewer.”
Nameserver seçenekleri
| Tip | Biçim | Adet | Plan |
|---|---|---|---|
| Standard | <isim>.ns.cloudflare.com | 2 | Hepsi |
| Advanced (Foundation DNS) | <renk>.foundationdns.com/.net/.org | 3 | Enterprise |
| Custom | Kendi alan adında, statik IP’lerle | — | Enterprise self-servis, Business destek talebiyle |
Ne zaman kullanılır, ne zaman kullanılmaz
Kullanılır
- Ücretsiz, ölçümsüz ve hızlı bir yetkili DNS istiyorsan. Self-servis planlarda sorgu başına ücret yok, tavan yok.
- Cloudflare’in proxy’sini kullanacaksan. Zaten mecbursun — turuncu bulut DNS kaydının bir özelliği.
- Altyapıyı kodla yönetiyorsan. API ve Terraform tam kapsamlı; batch endpoint’i tek işlemde yüzlerce kaydı değiştiriyor.
- DNS katmanına gelen saldırıdan korunmak istiyorsan — ama yalnızca full setup’ta.
- Apex’te CNAME gerekiyorsa. CNAME flattening bunun için var.
Kullanılmaz
Bu bölümü uzun tutuyorum çünkü Cloudflare DNS’in eksikleri genellikle yazılmıyor.
DNS’in kendisinde coğrafi, ağırlıklı veya gecikme tabanlı yönlendirme yok. DNS ürününde trafik yönlendiren bir kayıt tipi yok. Cloudflare’in cevabı ayrı ücretli Load Balancing. Route 53 geolocation, geoproximity, latency, weighted, multivalue-answer ve failover’ı DNS servisinin içinde veriyor; NS1 iş modelini Filter Chains üzerine kurmuş. Mimarin “kullanıcıyı beş bölgeden en yakınına yalnızca DNS katmanında yönlendir” ise, rakipler bunu doğal olarak yapıyor, Cloudflare ekstra faturalıyor.
ALIAS/ANAME kaydı yok. CNAME flattening iyi ama aynı primitif değil. dnsimple’ın ALIAS’ı ve Route 53’ün alias-to-AWS-resource semantiği (alias hedefine ücretsiz sorgu, health check entegrasyonu) Cloudflare’de yok.
Secondary DNS yalnızca Enterprise ve teklif bazlı. İki DNS sağlayıcısıyla dayanıklılık isteyen orta ölçekli bir şirket yapısal olarak uyuşmuyor; dnsimple, NS1 ve Route 53 bunu satış görüşmesi olmadan satıyor.
Partial (CNAME) kurulum Business ve üstü. Mevcut yetkili sağlayıcını koruyup subdomain proxy’lemenin giriş fiyatı yıllık ödemede ayda 200 dolar. Fastly ve Akamai bir hostname’i her katmanda NS delegasyonu istemeden öne alıyor.
Nameserver ataması kontrol edilemiyor ve sonradan düzeltilemiyor.
Standart planlarda yalnızca iki nameserver. Foundation DNS’te üç, Route 53’te varsayılan dört.
Enterprise altında DNS katmanında failover yok. DNS Firewall ve secondary DNS — bir şey bozulduğunda çözümlemeyi ayakta tutan iki şey — ikisi de Enterprise.
Ücretsiz plan kayıt tavanı 200. Kiracı başına subdomain üreten veya yoğun ACME DNS-01 otomasyonu olan bir yapı için gerçekten düşük. Route 53 hosted zone başına varsayılan 10.000 veriyor ve yükseltilebiliyor.
DNSSEC anahtar kontrolü sınırlı. Hesaba özgü ZSK/KSK Foundation DNS’te; diğer herkes Cloudflare’in anahtarlarını paylaşıyor.
Enterprise DNS fiyatı sorgu hacmine göre ölçülüyor. Ünlü “ölçümsüz DNS” self-servise ait; ölçekte sorgu başına ödüyorsun, sadece opak biçimde. Route 53 milyon başına $0.40’ı yayımlıyor.
NTLM ve Kerberos proxy’yle uyumsuz — o hostname’ler için DNS-only’ye düşmek ve tüm Cloudflare faydalarından vazgeçmek zorundasın.
Somut örnekler
Apex’i yalnızca hostname veren bir PaaS’a yöneltmek
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
--request POST --header "Authorization: Bearer $CF_API_TOKEN" \
--json '{"type":"CNAME","name":"@","content":"cname.vercel-dns.com","proxied":true,"ttl":1}'
ttl: 1 Auto demektir. CNAME flattening RFC’ye aykırı olan apex CNAME’i mümkün kılıyor.
Doğrulama: dig +short ornek.com.tr A CNAME değil, Cloudflare anycast IP’leri döndürmeli.
Wildcard sertifika için ACME DNS-01
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
--request POST --header "Authorization: Bearer $CF_API_TOKEN" \
--json '{"type":"TXT","name":"_acme-challenge","content":"\"<TOKEN>\"","ttl":60}'
TTL 60, Enterprise dışı planlarda DNS-only kayıtlar için taban değerdir.
Asla proxy’lenmemesi gereken e-posta kayıtları
| Tip | Ad | İçerik | Proxy | TTL |
|---|---|---|---|---|
| A | mail | 192.0.2.1 | DNS Only | Auto |
| MX | ornek.com.tr | 5 mail.ornek.com.tr | DNS Only | Auto |
| TXT | _dmarc | "v=DMARC1; p=reject; …" | DNS Only | Auto |
| TXT | *._domainkey | "v=DKIM1; k=rsa; p=…" | DNS Only | Auto |
| TXT | ornek.com.tr | "v=spf1 ip4:…" | DNS Only | Auto |
MX ve TXT zaten hep DNS-only’dir; kritik olan MX’in işaret ettiği A kaydının da DNS-only olmasıdır.
500 kaydı tek işlemde taşımak
Tek tek POST atarsan 5 dakikada 1.200 istek sınırına çarparsın. Doğru yol batch endpoint’i:
/zones/{zone_id}/dns_records/batch — tek çağrıda silme, güncelleme ve ekleme birlikte.
Tüm hesabı DNS-only’ye zorlamak
curl --request PATCH \
"https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings" \
--header "Content-Type: application/json" \
--data '{"zone_defaults":{"zone_mode":"dns_only"}}'
Nisan 2026’da gelen bu ayar, kademeli geçiş veya uyumluluk gereği için işe yarıyor. Kapsam dışında kalanlar: Spectrum uygulamaları, Tunnel CNAME’leri, R2 custom domain’leri, Web3 gateway’leri ve Workers custom domain’leri normal çalışmaya devam ediyor.
Demo 1: Bir zone’u uçtan uca taşımak ve her adımı dig ile doğrulamak
Bu demonun amacı taşımayı yapmak değil — her adımda tam olarak neyin değiştiğini kanıtlamak. Panele yalnızca iki tık için gireceğiz.
Adım 1 — Hiçbir şeye dokunmadan başlangıç durumunu kaydet
export DOM=ornek.com.tr
# Şu anda kim yetkili? TLD sunucularından sor, kendi cache'ini atla
dig +norecurse @$(dig +short tr. NS | head -1) $DOM NS +short
# Mevcut sağlayıcı ne sunuyor?
OLDNS=$(dig +short $DOM NS | head -1)
dig @$OLDNS $DOM SOA +noall +answer
dig @$OLDNS $DOM A +noall +answer
dig @$OLDNS www.$DOM +noall +answer
dig @$OLDNS $DOM MX +noall +answer
dig @$OLDNS $DOM TXT +noall +answer
# KRİTİK: ebeveynde DNSSEC canlı mı?
dig $DOM DS +noall +answer
Bir de gecikme referansı al:
for i in $(seq 1 20); do dig @$OLDNS $DOM A | awk '/Query time/{print $4}'; done \
| sort -n | awk '{a[NR]=$1} END{print "min",a[1],"medyan",a[int(NR/2)],"maks",a[NR]}'
Adım 2 — Zone’u oluştur ve kayıtları içe aktar
ZONE_ID=$(curl -s "https://api.cloudflare.com/client/v4/zones" \
--request POST --header "Authorization: Bearer $CF_API_TOKEN" \
--json "{\"name\":\"$DOM\",\"account\":{\"id\":\"$ACCOUNT_ID\"}}" \
| python3 -c 'import sys,json;print(json.load(sys.stdin)["result"]["id"])')
# Cloudflare'in tarayıcısı kayıtları bulmaya çalışsın
curl -s "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/scan" \
--request POST --header "Authorization: Bearer $CF_API_TOKEN"
# Bulduklarını oku ve adım 1'deki dökümle KARŞILAŞTIR
curl -s "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?per_page=500" \
--header "Authorization: Bearer $CF_API_TOKEN" \
| python3 -c 'import sys,json;[print(r["type"],r["name"],r["content"],r["proxied"]) for r in json.load(sys.stdin)["result"]]' \
| sort
Bu, herkesin atladığı adım. Cloudflare’in kendi uyarısı: “the quick scan is not guaranteed to find all existing DNS records” ve “If you activate your domain on Cloudflare without setting up the correct DNS records for your domain, your visitors may experience DNS_PROBE_FINISHED_NXDOMAIN errors.” Satır satır karşılaştır, eksikleri devam etmeden önce ekle.
Adım 3 — Atanan nameserver’ları al ve delegasyondan ÖNCE prova yap
CFNS=$(curl -s "https://api.cloudflare.com/client/v4/zones/$ZONE_ID" \
--header "Authorization: Bearer $CF_API_TOKEN" \
| python3 -c 'import sys,json;print(json.load(sys.stdin)["result"]["name_servers"][0])')
# Zone daha delege EDİLMEDEN Cloudflare'e doğrudan sor
dig @$CFNS $DOM A +noall +answer
dig @$CFNS www.$DOM +noall +answer
dig @$CFNS $DOM MX +noall +answer
Bu sıfır riskli provadır. Cloudflare henüz kendisine delege edilmemiş bir zone için cevap veriyor (dokümantasyon bunu doğruluyor). Burada bir şey yanlışsa taşıma bozulacaktı — şimdi hiçbir maliyet ödemeden düzeltiyorsun.
Adım 4 — Registrar’da NS’leri değiştir ve delegasyonun döndüğünü izle
while true; do
date -u +%H:%M:%S
dig +norecurse @$(dig +short tr. NS | head -1) $DOM NS +short
sleep 60
done
Taşımanın yetkili anı budur — laptop’unun çözümleyicisinin ne dediği değil.
Zone durumu ayrı ilerliyor:
Adım 5 — Turuncu bulutu üç ayrı kanıtla göster
İki test kaydı oluştur, biri proxy’li biri değil, ve farkı gör:
dig +noall +answer proxy-test.$DOM A
dig +noall +answer dnsonly-test.$DOM A
Beklenen — turuncu bulutun tamamı üç satırda:
proxy-test.ornek.com.tr. 300 IN A 104.21.x.x <- Cloudflare anycast, TTL 300'e sabitlenmiş
proxy-test.ornek.com.tr. 300 IN A 172.67.x.x <- ikinci anycast IP
dnsonly-test.ornek.com.tr. 300 IN A 192.0.2.10 <- gerçek origin IP'n, AÇIKTA
İkinci kanıt — TTL artık senin değil. Proxy’li kaydın TTL’ini 3600 yapmayı dene:
Üçüncü kanıt — HTTP başlıkları yalnızca proxy’liyken var:
curl -sSI https://www.$DOM | grep -iE 'server|cf-ray|cf-cache-status'
cf-ray başlığının son üç karakteri IATA kodudur. Türkiye’den bakıyorsan -IST veya -ADB
görmen beklenir.
Adım 6 — Cloudflare’in kendi debug uçlarıyla nerede olduğunu öğren
dig @$CFNS chaos txt id.server +short # DNS'ine bakan veri merkezi
dig @$CFNS chaos txt version.bind +short # yetkili DNS yazılım sürümü
dig @$CFNS txt whoami.cloudflare.net +short # IP'n, ASN'in, ülke kodun
Adım 7 — Gecikme farkını ölç ve panelde analitiği gör
for i in $(seq 1 20); do dig @$CFNS $DOM A | awk '/Query time/{print $4}'; done \
| sort -n | awk '{a[NR]=$1} END{print "min",a[1],"medyan",a[int(NR/2)],"maks",a[NR]}'
Bu demoda ölçülenler: TLD’deki delegasyonun döndüğü an · zone durumunun active’e geçiş süresi ·
proxy’li ve DNS-only kayıtların dig farkı · TTL’in 300’de kilitli olduğu · cf-ray veri merkezi
kodu · taşıma öncesi ve sonrası sorgu gecikmesi.
Demo 2: DNSSEC’i açmak, doğrulamak ve güvenle geri alabilmek
Ön koşul: zone Cloudflare’de active durumda.
Adım 1 — Şu anda kapalı olduğunu kanıtla
dig $DOM DS +short # boş dönmeli
dig @$CFNS $DOM DNSKEY +short # boş dönmeli
delv $DOM A # "; unsigned answer" demeli
dig $DOM A +dnssec | grep -c RRSIG # 0 dönmeli
Adım 2 — İmzalamayı aç
curl -s "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" --request PATCH \
--header "Authorization: Bearer $CF_API_TOKEN" \
--json '{"status":"active"}' | python3 -m json.tool
Yanıttaki her alan registrar’a gireceğin bilgidir. Panelden de aynı bilgiye DNS → Settings → DNSSEC altından ulaşabilirsin.
Adım 3 — Registrar’a dokunmadan Cloudflare’in imzaladığını doğrula
dig @$CFNS $DOM DNSKEY +noall +answer # 256 ve 257 flag'li anahtarlar
dig @$CFNS $DOM A +dnssec +noall +answer # artık RRSIG içeriyor
Burası güvenli penceredir. RRSIG’ler var ama ebeveynde DS yok, yani güven zinciri henüz kapanmadı ve kullanıcılar için hiçbir şey bozulmadı.
Adım 4 — Registrar’da DS kaydını yayımla
Algoritma 13, Digest Type 2 (SHA-256), adım 2’deki key tag ve digest.
Adım 5 — Güven zincirinin kapandığını izle
while true; do
date -u +%H:%M:%S
echo -n "Ebeveynde DS: "; dig $DOM DS +short | tr '\n' ' '; echo
echo -n "Cloudflare durumu: "; curl -s ".../zones/$ZONE_ID/dnssec" \
--header "Authorization: Bearer $CF_API_TOKEN" \
| python3 -c 'import sys,json;print(json.load(sys.stdin)["result"]["status"])'
sleep 120
done
Adım 6 — Doğrulamanın gerçekten çalıştığını kanıtla
delv $DOM A
# Başarı şöyle görünür:
# ; fully validated
# ornek.com.tr. 300 IN A 104.21.x.x
# ornek.com.tr. 300 IN RRSIG A 13 3 300 ...
dig @1.1.1.1 $DOM A +dnssec | grep -E 'flags:|RRSIG'
# flags satırındaki 'ad' = Authenticated Data = çözümleyici doğruladı
Negatif kanıt da al — doğrulayan bir çözümleyici bilerek bozulmuş bir zone’u reddetmeli:
dig @1.1.1.1 dnssec-failed.org A # SERVFAIL bekleniyor
dig @1.1.1.1 +cd dnssec-failed.org A # +cd kontrolü kapatır, şimdi cevap gelir
Adım 7 — Geri alma provası
Bu demoda ölçülenler: imzalama açılmadan önceki ve sonraki RRSIG sayısı · pending-ds’ten
active’e geçiş süresi · DS kaydının ebeveynde görünme süresi · delv’in doğrulama sonucu ·
ad bayrağının varlığı · DS TTL’i (geri alma penceresi).
Fiyatlandırma
Yetkili DNS ücretsizdir
“Cloudflare never limits or caps DNS queries, but the pricing depends on your plan level. For customers on Free, Pro, or Business plans, Cloudflare does not charge for DNS queries. For customers on Enterprise plans, Cloudflare uses the number of monthly DNS queries as a pricing input to generate a custom quote.”
Kayıt kotası
“Cloudflare limits the number of DNS records you can create. Depending on your plan, this limit is enforced either per zone or per account — not both.”
| Kapsam | Limit |
|---|---|
| Ücretsiz, 1 Eylül 2024 UTC’den önce oluşturulan zone | 1.000 |
| Ücretsiz, o tarihte ve sonrasında oluşturulan zone | 200 |
| Pro | 3.500 |
| Business | 3.500 |
| Enterprise | Zone başına limit yok — hesap kotasına dahil |
| Enterprise hesap, public zone | 1.000.000 |
| Enterprise hesap, internal zone | 1.000.000 (ayrı sayılır) |
Dikkat: “DNS records that other Cloudflare services create on your behalf — for example, the TXT and MX records added by Email Routing — also count toward your quota.”
Diğer limitler
| Öğe | Limit |
|---|---|
| Zone başına transfer peer | 30 |
| Delegasyon adı başına NS kaydı | 10 (öneri 7 veya daha az) |
| Proxy’li kayıt TTL’i | 300 saniye, değiştirilemez |
| DNS-only kayıt TTL aralığı | 30 sn (Enterprise) / 60 sn (diğer) – 1 gün |
| Standart nameserver | Zone başına 2 |
| Advanced nameserver (Foundation DNS) | Zone başına 3 |
| Kayıt değişikliğinin küresel yayılımı | “within 5 minutes, usually much less” |
API rate limitleri
| Tip | Limit |
|---|---|
| Client API, kullanıcı/hesap token başına | 5 dakikada 1.200 istek |
| Client API, IP başına | Saniyede 200 |
| GraphQL | Sorgu maliyetine göre değişir, 5 dakikada en fazla 320 |
| Kullanıcı API token kotası | 50 |
| Hesap API token kotası | 500 |
“If you exceed this limit, all API calls for the next five minutes will be blocked, receiving a
HTTP 429 - Too Many Requestsresponse.”
Bu sınır, yüzlerce kaydı tek tek POST ederek taşımaya çalışanların çarptığı duvardır — batch endpoint’i tam olarak bunun için var.
DNS Analytics saklama
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Maks zaman aralığı (zone) | 7 gün | 31 gün | 31 gün | 62 gün |
| Maks zaman aralığı (hesap) | 7 gün | 7 gün | 7 gün | 62 gün |
| Geçmiş veri (zone) | 8 gün | 31 gün | 31 gün | 62 gün |
| Geçmiş veri (hesap) | 8 gün | 8 gün | 8 gün | 62 gün |
Özellik kapıları
| Özellik | Free | Pro | Business | Enterprise |
|---|---|---|---|---|
| Primary (Full) kurulum | ✅ | ✅ | ✅ | ✅ |
| CNAME (Partial) kurulum | ❌ | ❌ | ✅ | ✅ |
| Zone transfer / secondary DNS | ❌ | ❌ | ❌ | ✅ |
| Subdomain kurulum | ❌ | ❌ | ❌ | ✅ |
| DNSSEC | ✅ | ✅ | ✅ | ✅ |
| Multi-signer DNSSEC | ✅ | ✅ | ✅ | ✅ |
| NSEC3 | ❌ | ❌ | ❌ | ✅ |
| Apex’te CNAME flattening | ✅ | ✅ | ✅ | ✅ |
| Tüm CNAME’leri flatten | ❌ | ✅ | ✅ | ✅ |
| Foundation DNS | ❌ | ❌ | ❌ | ✅ |
| Account custom nameservers | ❌ | ❌ | Destek talebiyle | ✅ |
| DNS Firewall | ❌ | ❌ | ❌ | ✅ (ücretli eklenti) |
| Internal DNS | ❌ | ❌ | ❌ | ✅ (Gateway ile) |
Lisanslama ve hukuki çerçeve
Hizmet tescillidir ve Cloudflare Hizmet Şartları’na tabidir.
.tr alan adları için pratik tablo şudur: alan adın nic.tr/TRABIS akredite bir kayıt
operatöründe kalır, Cloudflare yalnızca yetkili DNS olarak devreye girer. Bunun üç sonucu var.
Birincisi, Cloudflare Registrar’ın “maliyetine, marjsız” fiyatlandırması .tr için geçerli değil.
İkincisi, DS kaydı otomasyonu yalnızca Cloudflare Registrar ile .ch/.cz için çalıştığından
DNSSEC’i elle kurman gerekiyor. Üçüncüsü — bu iyi haber — “Partial setups are not supported on
Cloudflare Registrar domains” kısıtı seni etkilemiyor; Business veya Enterprise’daysan .com.tr
alan adında partial (CNAME) kurulum kullanabilirsin.
Veri yerelliği açısından DNS ilginç bir konumda. Sorgular anycast ile en yakın veri merkezinde cevaplanıyor ama bu merkez çözümleyicinin konumuna göre seçiliyor, kullanıcının değil. Türkiye Data Localization Suite’te Regional Services bölgesi olarak destekleniyor — yani HTTPS trafiğinin Türkiye’deki veri merkezlerinde çözülmesini zorlayabiliyorsun — ama Customer Metadata Boundary Türkiye’yi desteklemiyor, dolayısıyla DNS analitiğin ve logların Türkiye’de saklanamıyor. Ayrıntı için Analytics.
KVKK açısından DNS sorgu logları kaynak IP içerir ve bu kişisel veri sayılabilir. DNS Analytics boyutları arasında Source IP ve Destination IP var. Bu veriye kimlerin eriştiğini ve ne kadar saklandığını (plan tablosuna bakınız) aydınlatma metninde değerlendirmen gerekir.
Türkçe arayüz ve TRY faturalama. cloudflare.com’un dil değiştiricisinde Türkçe
bulunmamaktadır. Panelde Türkçe olup olmadığı resmî kaynaklarda belgelenmemiştir. Tüm
yayımlanan fiyatlar USD’dir; TRY ile faturalama konusunda resmî bir kaynak bulunamamıştır.
Sık yapılan hatalar
Taşıma sırasında registrar’da DNSSEC’i açık bırakmak. Tamamen ölü alan adının bir numaralı sebebi. Önce DS’i kaldır, TTL’ini bekle.
DKIM veya doğrulama CNAME’ini proxy’lemek. Cloudflare bilinen bir listeyi engelliyor ama her sağlayıcıyı değil. Alan adı sahipliğini kanıtlayan kayıtlar proxy’lenmemeli.
“Tüm CNAME’leri flatten et” seçeneğini açıp üçüncü taraf doğrulamasını kırmak.
Otomatik taramaya güvenmek. “the quick scan is not guaranteed to find all existing DNS records.”
Eski origin IP’lerini keşfedilebilir bırakmak. Cloudflare aktivasyondan sonra IP’leri değiştirmeyi öneriyor.
Partial kurulumun doğrulama TXT kaydını silmek. Kurulum aktif olduğu sürece kalmalı.
Farklı bir Cloudflare hesabındaki hostname’e CNAME vermek. Error 1014.
Pending durumdaki zone’u üretim trafiğine açmak. “make sure not to use pending zones for production traffic.”
“Moved” bildirimini görmezden gelmek. Yeterince uzun süre Moved durumunda kalan alan adı siliniyor ve “Cloudflare support is unable to restore DNS or settings for deleted domains.”
Bir delegasyon için 10’dan fazla NS kaydı oluşturmak. Reddediliyor veya doğrulamada kalıyor.
NTLM veya Kerberos kullanan bir hostname’i proxy’lemek. Tekrarlayan kimlik doğrulama istemleri veya döngü.
Planlı değişiklikten önce TTL’i düşürmemek. Cloudflare tarafı beş dakikada yayılıyor ama dünyadaki çözümleyiciler eski TTL dolana kadar eski cevabı tutuyor.
Sıkça sorulan sorular
- Bilgisayarıma 1.1.1.1 kurdum, sitem Cloudflare DNS mi kullanıyor?
- Hayır — bu ikisi ayrı ürün ve Türkçe kaynaklardaki en yaygın karışıklık. 1.1.1.1 senin cihazına kurduğun bir özyinelemeli çözümleyici; herkesin alan adını senin adına sorar. Cloudflare DNS ise senin alan adın hakkındaki soruları cevaplayan yetkili servistir ve registrar'da NS kaydını değiştirerek açılır. Laptop'una 1.1.1.1 kurmak sitenin DNS'ine hiçbir şey yapmaz; NS'leri Cloudflare'e vermek de gezinme gizliliğine hiçbir şey yapmaz.
- <code>.com.tr</code> alan adımı Cloudflare DNS'e taşıyabilir miyim?
- Evet, nameserver değişikliğiyle. Cloudflare DNS için TLD izin listesi yayımlamıyor; yapısal şart koyuyor: “Cloudflare requires your apex domain to be one level below a valid TLD defined in the Public Suffix List (PSL)” ve alan adı geçerli
NSileSOAkaydı döndürmeli.com.tr,net.tr,org.tr,gen.trvetrPSL girdisi olduğu içinsirket.com.trbu şartı karşılıyor. Dürüstlük notu: Cloudflare.trhakkında hiçbir açıklama yayımlamıyor; bu sonuç Cloudflare'in genel kuralı ile PSL'den çıkarımdır, Türkiye'ye özgü bir Cloudflare belgesi değildir. - Alan adımı Cloudflare Registrar'a da taşıyabilir miyim?
.triçin hayır. Registrar'ın desteklediği TLD listesi 1 Eylül 2026'da programatik olarak sayıldı: 377 TLD, vetr,com.tr,net.tr,org.tr,gen.tr— hiçbiri listede yok. Registrar'ın sunduğu iki harfli ccTLD kümesi zaten küçük (ai, ca, cc, co, fm, io, me, mx, nz, tv, uk, us);.de,.fr,.it,.jpde yok. Türk registrar'ında kalıp yalnızca NS'leri Cloudflare'e verirsin.- Nameserver'larımı seçebilir miyim?
- Hayır ve bu sert bir kısıt. Resmî ifade: “Nameserver assignments happen at zone creation and cannot be changed afterwards, even by Cloudflare Support.” Zone'u silip yeniden eklemek de çözmüyor: “Deleting and re-adding the zone does not force a specific nameserver assignment and can produce yet another different set.” Tutarlı bir NS seti gerekiyorsa (registry glue, firewall izin listeleri) Enterprise'da account custom nameservers ya da Foundation DNS gerekiyor; Business'ta destek talebi açılıyor.
- Proxy'li bir kaydın TTL'ini uzatabilir miyim?
- Hayır. Proxy'li kayıtların TTL'i 300 saniyede sabit ve “This value cannot be edited.” Gerekçesi mantıklı: Cloudflare kayda atadığı anycast IP'sini değiştirdiğinde değişikliğin hızla yayılması gerekiyor. DNS-only kayıtlarda ise 30 saniye (Enterprise) veya 60 saniye (diğer planlar) ile 1 gün arasında seçebilirsin.
- Aynı isimde bir proxy'li bir de DNS-only A kaydım var, ne olur?
- İkisi de proxy'li sayılır. Resmî ifade: “If you have multiple A or AAAA records on the same name and at least one of them is proxied, Cloudflare will treat all A or AAAA records on this name as being proxied.” Aynı şey CNAME zincirlerinde de geçerli: zincirdeki bir hostname proxy'liyse istek proxy'lenir. Bir de tuzak var: farklı bir Cloudflare hesabındaki hostname'e CNAME vermek yasak ve Error 1014 (CNAME Cross-User Banned) üretir.
- Mail sunucum çalışmıyor, <code>mail</code> kaydını turuncu buluta almıştım.
- Sebebi tam olarak bu. MX ve TXT kayıtları zaten her zaman DNS-only'dir, ama MX'in işaret ettiği A kaydı da DNS-only olmalı. Turuncu bulutta o hostname Cloudflare'in HTTP proxy'sine düşer ve o proxy SMTP konuşmaz. Aynı mantık DKIM doğrulama kayıtları için de geçerli — Cloudflare bilinen bir listeyi (
dkim.amazonses.com,*.onmicrosoft.com,acm-validations.awsve birkaçı) zaten proxy'lemeyi engelliyor ama listede olmayan sağlayıcılar için sorumluluk sende. - DNSSEC açıkken taşıma yaparsam ne olur?
- Alan adın tamamen ölür. Resmî ifade: “If you change nameservers before the old DS TTL has fully expired, validating resolvers will return SERVFAIL because the cached DS records will not match Cloudflare's DNSSEC keys.” Doğru sıra: registrar'da DS kaydını kaldır → DS TTL'inin tamamen dolmasını bekle (“commonly 24–48 hours for most TLDs”) → NS'leri değiştir → Cloudflare'de DNSSEC'i aç. Alternatif olarak mevcut sağlayıcın dış DNSKEY kaydı kabul ediyorsa multi-signer aktif göç ile sıfır kesintiyle taşıyabilirsin.
- Ücretsiz planda kaç DNS kaydı ekleyebilirim?
- Zone'un ne zaman oluşturulduğuna bağlı — bu ayrımı çoğu kaynak atlıyor. 1 Eylül 2024 UTC'den önce oluşturulmuş ücretsiz zone'larda 1.000; o tarihte ve sonrasında oluşturulanlarda 200. Pro ve Business 3.500. Enterprise'da zone başına limit yok, hesap başına 1.000.000 (internal zone'lar ayrı sayılıyor). Dikkat: Email Routing'in senin adına oluşturduğu MX ve TXT kayıtları da bu kotaya sayılıyor.
- Cloudflare DNS sorgu başına ücret alıyor mu?
- Self-servis planlarda hayır. Resmî ifade: “Cloudflare never limits or caps DNS queries... For customers on Free, Pro, or Business plans, Cloudflare does not charge for DNS queries. For customers on Enterprise plans, Cloudflare uses the number of monthly DNS queries as a pricing input to generate a custom quote.” Yani ünlü “ölçümsüz DNS” self-servis için doğru; Enterprise'da sorgu hacmi teklifinin girdisi oluyor — sadece opak biçimde. Sorgu başına yayımlanmış bir aşım ücreti yok; “Cloudflare milyon sorgu başına şu kadar alıyor” diyen her kaynak uyduruyor.
- İkinci bir DNS sağlayıcısıyla birlikte kullanabilir miyim?
- Yalnızca Enterprise'da. Zone transfer (AXFR/IXFR) her iki yönde de Enterprise'a kilitli: “Zone transfers are only available to customers on an Enterprise plan.” Zone başına en fazla 30 peer bağlanabiliyor ve her peer yalnızca bir TSIG ile ilişkilendiriliyor. Dayanıklılık için iki DNS sağlayıcısı isteyen orta ölçekli bir şirket, Cloudflare'in fiyat yapısıyla yapısal olarak uyuşmuyor — dnsimple, NS1 ve Route 53 bunu satış görüşmesi olmadan satıyor.
- Apex'te (ornek.com.tr) CNAME kullanabilir miyim?
- Evet — CNAME flattening tam olarak bunun için var. “CNAME flattening speeds up CNAME resolution and allows you to use a CNAME record at your zone apex.” Proxy'li CNAME'ler zaten varsayılan olarak flatten ediliyor. İki tuzağa dikkat: hedefin A/AAAA kaydı yoksa (dangling CNAME) “CNAME flattening returns an empty response (NODATA)” ve bu, kaydın yayılmadığı izlenimi veriyor. Ayrıca “tüm CNAME'leri flatten et” seçeneği, üçüncü taraf doğrulama CNAME'lerini kırabiliyor.
- Kayıt değişikliği ne kadar sürede yayılır?
- Resmî ifade: “any changes or additions you make to your Cloudflare zone file will take effect globally within 5 minutes, usually much less.” Ama bu Cloudflare tarafını anlatıyor — dünyadaki çözümleyiciler önceki TTL dolana kadar eski cevabı önbellekte tutmaya devam eder. Planlı bir değişiklikten önce TTL'i düşürmen gerekir.
- Türkiye'de kaç Cloudflare veri merkezi var?
- İki: İstanbul (
IST) ve İzmir (ADB). Bu isimlercloudflarestatus.com'un bileşen listesinden birebir doğrulandı ve ikisi de Europe grubunda. Başka Türk şehri yok — Ankara bir Cloudflare lokasyonu değil. Sana hangisinin hizmet verdiğinicf-raybaşlığının son üç karakterinden görebilirsin. Not: DNS için colo seçimi senin değil, çözümleyicinin konumunu izler.
İlgili servisler
- CDNStatik içeriği kullanıcıya en yakın şehirde cache’leyip origin yükünü düşürür.
- RegistrarAlan adını maliyet fiyatına, kâr marjı eklenmeden kaydeder ve yeniler.
- Load BalancingTrafiği birden çok origin arasında dağıtır, health check yapar, arızalıyı devre dışı bırakır.
- Email RoutingAlan adındaki e-posta adreslerini ücretsiz olarak mevcut kutuna yönlendirir. Artık Cloudflare Email Service’in içinde.
Bu sayfadaki fiyat ve özellik bilgileri 1 Eylül 2026 tarihinde Cloudflare’in resmî kaynaklarından doğrulanmıştır. Cloudflare fiyatlandırmasını önceden haber vermeden değiştirebilir; bağlayıcı bilgi içinresmî sayfaya bakın.