Bloga geri dön

DNS sorun giderme: nslookup, dig, DoH

· 7 dk okuma

DNS sorunları en yaygın ve teşhisi en zor kesinti nedenleri arasındadır. Pratik araçlar: nslookup, dig ve DNS-over-HTTPS.

DNS sorun giderme: nslookup, dig, DoH

En yaygın DNS sorunları

  • Domain kaydının süresi doldu - tüm DNS çalışmayı durdurur.
  • Yanlış A/AAAA kaydı - sunucu göçünden sonra güncellemeyi unuttular.
  • Eksik CNAME / MX - site çalışır, ama email çalışmaz.
  • TTL planlı bir değişiklik öncesi düşürülmemiş - provider'ların cache'leri hâlâ eski verileri sunar.
  • DNSSEC hatası - doğrulayıcılar imzasız veya yanlış imzalanmış kayıtları reddeder.
  • Geo-DNS arızası - belirli bir bölgenin resolver'ı yanlış cevap alır.

nslookup: en basit komut

Tüm OS'larda kurulum gerektirmeden mevcut. Sistemin varsayılan DNS sunucusunu kullanır, ancak ikinci argüman olarak açıkça bir tane belirtilebilir.

$ nslookup epulz.io
Server:    127.0.0.53
Address:   127.0.0.53#53

Non-authoritative answer:
Name:      epulz.io
Address:   87.197.115.180

# Açıkça Cloudflare DNS kullan
$ nslookup epulz.io 1.1.1.1

# Belirli kayıt tipi
$ nslookup -type=MX gmail.com 8.8.8.8
$ nslookup -type=TXT _dmarc.epulz.io 1.1.1.1

dig: Unix için detaylı DNS sorgusu

dig (Domain Information Groper) önemli ölçüde daha detaylı ve esnektir. bind-utils veya dnsutils paketinin parçasıdır.

$ dig epulz.io

;; QUESTION SECTION:
;epulz.io.                      IN      A

;; ANSWER SECTION:
epulz.io.               300     IN      A       87.197.115.180

;; Query time: 12 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: ...

Anahtar alanlar:

  • TTL (300) = resolver'ın cevabı cache'leyebileceği saniye sayısı.
  • ANSWER SECTION = sonucun kendisi.
  • SERVER = hangi DNS resolver cevap verdi.
  • Query time = sorgunun süresi - yavaş DNS hata ayıklamada faydalı.

Pratik komutlar

# Kısa cevap (sadece IP)
$ dig +short epulz.io
87.197.115.180

# Tüm kayıtlar
$ dig epulz.io ANY

# Tüm DNS hiyerarşisinin trace'i (root nameserver'lardan)
$ dig +trace epulz.io

# Reverse lookup
$ dig -x 87.197.115.180

# Belirli resolver
$ dig @8.8.8.8 epulz.io
$ dig @1.1.1.1 epulz.io
$ dig @9.9.9.9 epulz.io

# DNSSEC doğrulama
$ dig +dnssec epulz.io

DNS-over-HTTPS (DoH): UDP/53 olmadığında

Bazı ağlarda (kurumsal firewall'lar, engellemeli mobil data) geleneksel DNS portu 53 engellenmiştir. DoH, DNS sorgularını HTTPS istekleri içine paketler, böylece 443 portunun çalıştığı her yerden geçerler.

# Cloudflare DoH endpoint
$ curl -s "https://cloudflare-dns.com/dns-query?name=epulz.io&type=A" \
       -H "Accept: application/dns-json" | jq

# Google DoH
$ curl -s "https://dns.google/resolve?name=epulz.io&type=MX" | jq

Sade arayüzlü bir online DoH istemcimiz /tools/dns-lookup adresinde de var - hiçbir kurulum gerektirmeden.

"Domain çalışmıyor" durumunda prosedür

  1. Kaydı kontrol edin. whois yourdomain.com veya registrar üzerinden. Süresi dolduysa başka bir şey tamir edilemez.
  2. NS kayıtlarını kontrol edin. dig NS yourdomain.com @8.8.8.8. Domain'den sorumlu nameserver'lar dönüyor mu? Registrar paneldekilerle eşleşiyor mu?
  3. A kaydını kontrol edin. dig yourdomain.com @8.8.8.8. Doğru IP'yi döndürüyor mu?
  4. Dış ağdan test edin (mobil data, VPN, online araç). Siz kendiniz eski veriyi cache'lemiş olabilirsiniz.
  5. TTL'yi kontrol edin. Az önce bir kaydı değiştirdiyseniz, en azından orijinal TTL kadar bekleyin (varsayılan olarak 1 ile 24 saat arası).
  6. DNSSEC'i kontrol edin. Kullanıyorsanız, imza zinciri bozuk olabilir. dig +dnssec yourdomain.com başarı durumunda ad flag'ini gösterir.

DNS yayılımı: ne kadar sürer?

"DNS yayılımı" biraz yanıltıcı bir terimdir. DNS size doğru yayılmaz - resolver'larınız cevabı indirir ve TTL'ye göre cache'ler. Ancak TTL süresi dolduktan sonra yeni bir sorgu denerler.

Pratik sonuçlar:

  • Göç planlıyor musunuz? TTL'yi en az 48 saat önceden 60-300 saniyeye düşürün.
  • Eski IP, bazı istemcilerde değişiklikten sonra uzun süre cache'te kalır. Eski sunucuyu hemen kapatmayın.
  • Cloud provider'lar (Cloudflare, AWS Route 53) kısa TTL değerlerini ve değişikliklerin hızlı yayılımını destekler, ancak son istemci hâlâ kendi resolver'ının TTL'sini beklemek zorundadır.

Sonuç

DNS, herkesin doğal varsaydığı altyapı yapıştırıcısıdır - çalışmayı durdurana kadar. DNS kayıtlarının (A, NS, MX, TTL ve DNSSEC doğrulama) düzenli izlenmesi, bir müşteri telefonla bildirmeden önce sorunu ortaya çıkarır.

DNS ve WHOIS süre sonu izleme

ePulz.io A/AAAA/MX/NS kayıtlarını ve domain kaydının süre sonunu takip eder. 7 gün ücretsiz.

İzlemeyi başlat →

Paylaş: Bağlantı kopyalandı

ePulz.io'yu ücretsiz deneyin - 7 gün, kredi kartı gerekmez.

Hesap oluştur