Google Açık DNS bir alanı çözemediğinde, bunun nedeni genellikle o alanla veya yetkili alan adı sunucularıyla ilgili bir sorundur. Aşağıdaki adımlar, soruna neden olan noktaları belirlemeye yardımcı olabilir. Böylece alan yöneticileri sorunu çözebilir.
Bu adımlara başlamadan önce, genel sorun giderme sayfasında açıklandığı şekilde dns.google adresindeki alanı kontrol edin. Bu adım, sizi aşağıdaki belirli bir teşhis adımına yönlendirebilir. Aksi takdirde, nedeni bulana kadar aşağıdaki adımların tümünü deneyin.
1. Adım: DNSSEC doğrulama sorunlarını kontrol edin
Alan için dns.google web aramaları, "Status": 2
(SERVFAIL) değerini gösterir ve DNSSEC olmayan sorgular başarılı olursa alanın alan sunucuları veya üst düzey alan (TLD) kayıt otoritesinde (kayıtlı alanların DNSSEC doğrulaması için DS
kayıtlarını yayınlayan) bir DNSSSEC sorunu olabilir.
- Kayıt operatörü veya DNS hizmetindeki değişiklikler
DNSSEC sorunları, bir alan DNSSEC'yi destekleyen bir kayıt operatöründen veya DNS hizmetinden bir alan adıyla geçiş yaptıktan sonra ortaya çıkabilir. Önceki hizmet, TLD kaydındaki eski
DS
kayıtlarından ayrılırsa ve yeni hizmet TLD kaydında eşleşenDS
kayıtlarına sahip yeniDNSKEY
kayıtları oluşturmazsa Google Public DNS gibi çözümleyicileri doğrulamak alanı çözemez.Bu durumda alan kayıt operatörünüzden eski DS kayıtlarını TLD kayıt defterinden kaldırmasını isteyin.
- DNSSEC yanıtları çok büyük
DNSSEC sorunlarının bir diğer nedeni, tek bir IP paketine sığmayacak kadar büyük DNSSEC yanıtları olabilir. Bu durum, kesilebilecek parçalanmış yanıtlar oluşturur. DNSViz "UDP yük boyutu azaltılana kadar yanıt alınmadı" hatasını gösteriyorsa DNSSEC hataları, çok büyük yanıtlardan kaynaklanabilir. Yanıt boyutları, aşağıdaki işlemlerden biri veya daha fazlası azaltılabilir:
- Yetkili alan adı sunucuları için "minimum sayıda yanıt" yapılandırın
- Etkin
DNSKEY
kayıtlarının sayısını iki veya üçe indirin - 1280 veya 2048 bit
DNSKEY
kayıtları (RFC 6781, StackExchange) kullanın - RSA imzalarından daha küçük ECDSA imzalarına geçiş (RFC 8624)
Ayrıca, 2. adımdaki araçlar tarafından raporlanan diğer DNSSEC sorunlarını kontrol edin. Alt alan adları (harici veritabanlarında bulunan ve bölgelerin sahip olduğu DNSDNS) veya RRSIG imzaları (manuel olarak yapılandırılmış, hatalı imzalama işlemleri ile birlikte) kanıtlayan hatalı NSEC veya NSEC3 ret reddi kayıtları buna örnek gösterilebilir.
2. Adım: Yetkili alan adı sunucularını kontrol edin
Google Açık DNS (veya herhangi bir açık çözümleyici) bir alanın çözülmesiyle ilgili sorun yaşıyorsa DNSViz, bu soruna neden olan alan ve alan adı sunucusu sorunlarını gösterir. DNSViz web sayfasına gidin ve sorunlu alan adını girin. DNSViz'in geçmiş verileri yoksa veya yalnızca bir günden daha eski verileri varsa (buradaki sayfada gösterildiği gibi) aşağıdaki daha küçük bir Analiz düğmesini görmek için büyük Analiz düğmesini tıklayın (önceden görünür değilse) ve onu tıklayın. Analiz tamamlandığında sonuçları göstermek için "Devam"ı tıklayın. Ayrıntıları göstermek için sol kenar çubuğundaki kırmızı hataları ve sarı uyarıları tıklayın veya bilgileri bağlam içinde ortaya çıkarmak için işaretçiyi şemadaki nesnelerin üzerinde tutun.
Önceki teşhiste, alanla ilgili olası DNSSEC sorunları belirtildiyse DNSSEC Analiz Aracı web sayfasına gidin ve alan adını girin. Bu analizci DNSSEC hatalarını veya uyarılarını bildirirse, hataları düzeltmeye yönelik öneriler için işaretçiyi kırmızı
intoDNS web sayfası, ana sayfaya girilen alanla ilgili DNSSEC olmayan sorunları bildirir ve bunların düzeltilmesine yönelik öneriler gösterir.
Alan yöneticileri, hem Google Açık DNS'e hem de diğer çözücülere sorunlara neden olabildiğinden bu araçların belirttiği hataların çoğunu düzeltmelidir.
3. Adım: Yetki sorunlarını kontrol edin
Google Açık DNS, yalnızca ana alandan gelen yönlendirmelerde döndürülen alan adı sunucularını kullanan "ana odaklı" bir çözümleyicidir. TLD'deki alan adı sunucusu adları ve birleştirici adresler eski veya hatalıysa bu durum yetki sorunlarına yol açabilir.
DNSViz veya inDNS, TLD'de yetkilendirilen alan adı sunucuları ile alt alanın kendisinde bulunan sunucular arasında tutarsızlıklarla ilgili uyarılar bildirirse Google Public DNS'in alanı çözümleyebilmesi için önce bu sorunların ele alınması gerekebilir. Bu araçlar kayıtlı alan adının (NXDOMAIN) mevcut olmadığını bildirirse herhangi bir nedenle alanın süresinin dolmadığından veya askıya alınmış olmadığından emin olun.
Yetkilendirme sorunları, bir alan için alan adı sunucularının adlarının çözümlenmemesinden de kaynaklanabilir. Alan adı sunucularıyla ilgili sorun olup olmadığını görmek için dns.google adresinde alan adı sunucularının A
ve AAAA
kayıtlarını kontrol edin.
4. Adım: Büyük yanıtları kontrol edin
DNS, trafiğinin büyük bir kısmını taşımak için UDP protokolünü kullanır. Büyük UDP veri şemaları, parçalanmaya ve parçalı UDP aktarımlarının güvenilir olmaması nedeniyle bozulabilir. Bu, DNS Flag Day 2020 programının odağındaydı. Bu çalışma, DNS'nin güvenilirliğini dünya genelinde iyileştirme çabamızın bir parçasıydı. Google Açık DNS bu çalışmaya katıldı ve UDP üzerinden kabul edeceği UDP yanıtlarının boyutunu sınırlandırır. Kendi komut isteminiz veya bir Google Cloud Shell ile aşağıdaki gibi bir sorgu deneyin:
$ dig +short example.com NS ns1.example.com ns2.example.com $ dig +dnssec +nocrypto +bufsize=1400 +timeout=1 @ns1.example.com example.com A ... $ dig +dnssec +nocrypto +bufsize=1400 +timeout=1 @ns1.example.com example.com TXT ... $ dig +dnssec +nocrypto +bufsize=1400 +timeout=1 @ns1.example.com example.com DNSKEY ... $ dig +dnssec +nocrypto +bufsize=1400 +timeout=1 @ns1.example.com com DNSKEY ...
Çeşitli kayıt türleri için bu sorgular şunları belirtir:
+dnssec
- DNSSEC'yi etkinleştirin (özellikle kullanılabilir olduğunda DNSSEC doğrulaması için gerekli kayıtları döndürün). Bu anahtarlar, sonucun boyutunu önemli ölçüde genişletebilir. Bu, Google Açık DNS davranışını taklit eder.
+bufsize=1400
- İzin verilen UDP arabellek boyutunu sınırlayın. Bu, DNS Bayrak Günü 2020 çalışması itibarıyla Google Açık DNS'in emülasyonunu taklit eder.
+timeout=1
- Zaman aşımını bir saniye olarak ayarlayın. Bu, Google Açık DNS davranışını taklit eder.
@ns1.example.com
- Sorgulanacak yetkili sunucu:
@
işaretini koruyun, ancak ilk komutta gösterildiği gibi kendi alanınızın yetkili sunucusuyla değiştirin.
Çıkışa dikkat edin. Aşağıdaki gibi bir satır mı görüyorsunuz?
;; Truncated, retrying in TCP mode.
- Bu, yanıtın istenen UDP arabellek boyutundan daha büyük olduğunu, dolayısıyla kesildiğini ve istemcinin TCP'ye geçtiğini gösterir. Yetkili sunucularınız, DNS trafiğini 53 numaralı bağlantı noktası üzerinde işleyebilmelidir. (RFC 7766'ya bakın. Bu durumda, uygulamaların hem UDP hem de TCP taşımasını desteklemesi gerekir.)
;; MSG SIZE rcvd: 2198
- 1400'ün üzerindeki numaralar için? Bu da büyük bir yanıt olduğunu gösteriyor.
;; Query time: 727 msec
- 500'ün üzerindeki sayılar için Yavaş yanıtlar (özellikle de 1 saniyeden uzun veya kısa olanlar) Google Açık DNS tarafından silinebilir. Bu durum, özellikle bir UDP girişimi üzerinde bir zaman geçirildikten sonra bir TCP girişimi tarafından harcandığında olası bir durumdur. Sunucunun ve istemcinin coğrafi konumu, gecikmeyi önemli ölçüde etkileyebilir.
;; connection timed out; no servers could be reached
- Özellikle yalnızca bazı sorgular için bu durum, sunucunuzun DNS sorgularını zamanında yanıtlayamadığı bir sorun olduğunu gösterir.
Aşağıdaki sorgu varyasyonlarını deneyebilirsiniz:
+tcp
parametresi ekleniyor.- Bu sayede
dig
, TCP'yi hemen kullanmaya zorlanır. Yetkili sunucunuzun TCP sorgularını doğrudan bu şekilde işleyip işlemediğini kontrol edebilirsiniz. +bufsize=1400
parametresi kaldırılıyor.- Bu işlem,
dig
adlı tarayıcının varsayılan davranışını (4096'daki boyut) döndürür. Sorgularınız bu ayarla başarısız olursa ancak bu ayar olmadan çalışırsa bu, sunucunuzun TCP yük devretme işlemini iyi bir şekilde işlemediğini gösterir. Büyük yanıtları taşımak için UDP'yi temel almak yalnızca belirli durumlarda işe yarar. En iyi yöntem, DNS için TCP taşıma işlemini desteklemektir. - Tekrarlanan her alan adı sunucusu.
- Yukarıdaki örnekte iki yetkili alan adı sunucusu (
ns1
vens2
) vardır. Bazı sorunlara, farklı sunucuların farklı yanıtlar döndürmesi neden olur. Tüm yetkili sunucularda aynı sorguları tekrarlayarak hepsinin tutarlı bir şekilde yanıt verdiğinden emin olun.
Tüm sorgular küçük boyutlu (1.400 bayt veya daha kısa), hızlı (tercihen 500 milisaniye veya daha kısa) ve güvenilir (TCP ve UDP üzerinden tutarlı bir şekilde çalışıyorsa) yanıt boyutu konusunda endişeleriniz yoktur. Diğer sorun giderme bölümlerini okuyun. Yanıtlarınız hızlı olsa bile, coğrafi olarak uzaktaki sorgular daha yavaş olabilir.
Bu kontrollerden herhangi biri başarısız olduysa (büyük mi? yavaş mı? güvenilir değil mi?) ana işlem A'dır.); yanıtınız istenen UDP arabelleği boyutunu ve B'yi aştığında sunucunuzun UDP kesmesiyle yanıt verdiğinden emin olun. Ardından, TCP sorgusu yeniden denemesi gerçekleştirilebilir. DNS güvenilirliği sorunlarını teşhis etmenize yardımcı olacak çeşitli araçlar vardır:
- DNSViz
- DNSSEC Hata Ayıklayıcı
- EDNS Uyumluluk Test Aracı
- DNS Checker (DNS Denetleyici) - "CD"nin (DNSSEC kontrolünü devre dışı bırak) kutusunun işaretini kaldırdığınızdan emin olun
Bu araçlar hata veya uyarı verirse bunları ele aldığınızdan emin olun. Ayrıca bu sitedeki diğer tüm sorun giderme talimatlarını okuduğunuzdan emin olun.
5. Adım: Diğer herkese açık çözümleyicilerin alanı çözüp çözmediğini kontrol etme
Yukarıdaki adımları uyguladıktan sonra sorunun herhangi bir nedenini bulamadıysanız, aşağıdaki komutları bir komut isteminde çalıştırarak example.test.
söz konusu alanla (ve sondaki noktaları koruyarak) değiştirin:
Windows
nslookup example.test. resolver1.opendns.com.
nslookup example.test. dns.quad9.net.
nslookup example.test. one.one.one.one.
macOS veya Linux
dig example.test. '@resolver1.opendns.com.'
dig example.test. '@dns.quad9.net.'
dig example.test. '@one.one.one.one.'
Bu komutlar OpenDNS, Quad9 ve Cloudflare 1.1.1.1'in DNS çözümleyicilerini kullanır. Google Public DNS'in yanı sıra ikisinden de çözüm hataları alıyorsanız sorun muhtemelen alanla veya alan adı sunucularıyla ilgilidir.
Birden fazla herkese açık çözümleyiciden başarılı bir sonuç alırsanız Google Açık DNS ile ilgili bir sorun olabilir. Sorun izleyicide alan (veya TLD) için benzer bir sorun bildirilmemişse raporunuzdaki komut çıkışı ve teşhis sayfası metni ya da ekran görüntüleri dahil olmak üzere sorunu bize bildirmeniz gerekir.