Bloga geri dön

DNS sorun giderme: nslookup, dig, DoH

· 7 dk okuma

Kısaca: DNS sorunları, en yaygın ve teşhis edilmesi en zor kesinti nedenleri arasındadır - çünkü "DNS bende çalışıyor" müşterileriniz için çalışıyor anlamına gelmez. İşte pratik araç ve prosedürlerin bir özeti.

Kısaca: DNS sorunları, en yaygın ve teşhis edilmesi en zor kesinti nedenleri arasındadır - çünkü "DNS bende çalışıyor" müşterileriniz için çalışıyor anlamına gelmez. İşte pratik araç ve prosedürlerin bir özeti.

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 - email çalışmaz, site çalışırken.
  • TTL hızlı değişiklikler için hazırlanmamış - 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 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.
  • ANSWER SECTION = sonuç.
  • SERVER = hangi DNS resolver cevap verdi.
  • Query time = süre - 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 - 443'ün ç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

Güzel UI'lı bir online DoH istemcimiz adresinde de var - kurulum gerekmez.

"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ç). Sizin kendiniz eski veriyi cache'lemiş olabilirsiniz.
  5. TTL'yi kontrol edin. Az önce bir kaydı değiştirdiyseniz, en azından orijinal TTL'yi bekleyin (varsayılan olarak 1-24 saat).
  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 - sizin 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ı istemciler için değişiklikten sonra uzun süre geçerli kalacak. Eski sunucuyu hemen kapatmayın.
  • Cloud provider'lar (Cloudflare, AWS Route 53) hızlı TTL ve cache invalidation'a sahip, 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 izlemesi, 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 →


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

Hesap oluştur