SSH Bağlantı Sorunu: Sunucuya Bağlanamıyorum
SSH bağlantı sorunlarını çözme rehberi: Path.net firewall kuralları, Default Block, SSH portu için filtre kuralı oluşturma ve sorun giderme adımları.
DNS sorunlarını teşhis etmek ve çözmek için dig, nslookup komutları, DNS propagasyon kontrolü, cache temizleme ve yaygın DNS hatalarının çözüm rehberi.
DNS (Domain Name System), internet altyapısının temel bileşenlerinden biridir. Domain adlarını IP adreslerine çeviren bu sistem, doğru çalışmadığında web sitelerine erişim, e-posta gönderimi ve sunucu bağlantıları gibi birçok hizmet aksayabilir.
Bu rehberde, DNS sorunlarını teşhis etmek ve çözmek için kullanabileceğiniz araçları ve yöntemleri detaylı olarak inceleyeceğiz.
| Kayıt Türü | Açıklama | Örnek |
|---|---|---|
| A | IPv4 adresine yönlendirme | example.com → 1.2.3.4 |
| AAAA | IPv6 adresine yönlendirme | example.com → 2001:db8::1 |
| CNAME | Başka bir domain'e alias | www → example.com |
| MX | Mail sunucu yönlendirmesi | mail.example.com (öncelik: 10) |
| TXT | Metin kaydı (SPF, DKIM vb.) | v=spf1 ip4:1.2.3.4 -all |
| NS | Nameserver tanımı | ns1.example.com |
| PTR | Reverse DNS kaydı | 4.3.2.1 → example.com |
| SOA | Zone yetki kaydı | TTL, serial, refresh bilgileri |
Kullanıcı → Yerel DNS Cache → Recursive Resolver → Root NS → TLD NS → Authoritative NS → IP Adresi
dig (Domain Information Groper), DNS sorunlarını teşhis etmek için en güçlü araçtır.
# A kaydı sorgulama
dig example.com A
# Belirli bir DNS sunucusundan sorgulama
dig @8.8.8.8 example.com A
# Kısa çıktı
dig example.com +short
# Tüm kayıt türlerini sorgulama
dig example.com ANY
# MX kaydı sorgulama
dig example.com MX
# NS kaydı sorgulama
dig example.com NS
# TXT kaydı sorgulama
dig example.com TXT
# Trace modu — çözümleme sürecini adım adım gösterir
dig example.com +trace
# SOA kaydı — zone bilgileri
dig example.com SOA
# Reverse DNS sorgulama
dig -x 1.2.3.4
# TCP üzerinden sorgulama (büyük yanıtlar için)
dig example.com +tcp
# DNSSEC doğrulama
dig example.com +dnssec
$ dig example.com A
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 300 IN A 93.184.216.34
;; AUTHORITY SECTION:
example.com. 86400 IN NS ns1.example.com.
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; MSG SIZE rcvd: 56
Önemli alanlar:
nslookup, DNS sorgulama için daha basit bir araçtır:
# Temel sorgulama
nslookup example.com
# Belirli DNS sunucusundan sorgulama
nslookup example.com 8.8.8.8
# MX kaydı sorgulama
nslookup -type=MX example.com
# NS kaydı sorgulama
nslookup -type=NS example.com
# TXT kaydı sorgulama
nslookup -type=TXT example.com
# Reverse DNS
nslookup 1.2.3.4
DNS değişiklikleri yapıldığında, yeni kayıtların tüm DNS sunucularına yayılması (propagasyon) zaman alır.
| Kayıt Türü | Tipik TTL | Propagasyon Süresi |
|---|---|---|
| A / AAAA | 300-3600 sn | 5 dk - 1 saat |
| MX | 3600-86400 sn | 1 - 24 saat |
| NS | 86400 sn | 24 - 48 saat |
| TXT | 300-3600 sn | 5 dk - 1 saat |
# Google DNS
dig @8.8.8.8 example.com A +short
# Cloudflare DNS
dig @1.1.1.1 example.com A +short
# Quad9 DNS
dig @9.9.9.9 example.com A +short
# Yerel ISP DNS
dig example.com A +short
Online propagasyon kontrol araçları:
DNS propagasyonunu hızlandırmak için değişiklik öncesi TTL değerini düşürün (örn: 300 saniye). Değişiklik tamamlandıktan sonra TTL'i tekrar artırabilirsiniz.
# Linux (systemd-resolved)
sudo systemd-resolve --flush-caches
sudo resolvectl flush-caches
# macOS
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
# Windows
ipconfig /flushdns
# BIND named cache temizleme
sudo rndc flush
# Belirli bir zone için
sudo rndc flushname example.com
# Unbound cache temizleme
sudo unbound-control flush_zone example.com
Chrome tarayıcıda DNS cache temizlemek için:
chrome://net-internals/#dns → Clear host cache
$ dig nonexistent.example.com
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN
Nedenler:
Çözüm:
# Domain'in WHOIS bilgilerini kontrol edin
whois example.com
# Nameserver'ları kontrol edin
dig example.com NS +short
# Authoritative NS'den sorgulayın
dig @ns1.example.com example.com A
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL
Nedenler:
Çözüm:
# Nameserver erişilebilirliğini kontrol edin
dig @ns1.example.com example.com A
# DNSSEC durumunu kontrol edin
dig example.com +dnssec
# Farklı resolver ile deneyin
dig @1.1.1.1 example.com A
Nedenler:
Çözüm:
# Cache'i temizleyin
sudo systemd-resolve --flush-caches
# Authoritative NS'den doğrudan sorgulayın
dig @ns1.example.com example.com A +short
# Trace ile çözümleme yolunu kontrol edin
dig example.com +trace
Nedenler:
Çözüm:
# DNS yanıt süresini ölçün
dig example.com | grep "Query time"
# Farklı DNS sunucularını karşılaştırın
for dns in 8.8.8.8 1.1.1.1 9.9.9.9; do
echo "$dns: $(dig @$dns example.com +short +stats | grep 'Query time')"
done
# /etc/resolv.conf'u güncelleyin
sudo nano /etc/resolv.conf
nameserver 1.1.1.1
nameserver 8.8.8.8
nameserver 9.9.9.9
Kalıcı DNS ayarı için /etc/resolv.conf yerine systemd-resolved veya NetworkManager yapılandırmasını kullanın.
# Zone transfer testi
dig @ns1.example.com example.com AXFR
# Zone transfer'ı kısıtlama (named.conf)
zone "example.com" {
type master;
file "/etc/bind/zones/example.com.zone";
allow-transfer { SLAVE_IP; };
};
#!/bin/bash
# DNS Sorun Giderme Script'i
DOMAIN="example.com"
echo "=== DNS Sorun Giderme: $DOMAIN ==="
# 1. Nameserver kontrolü
echo -e "\n[1] Nameserver'lar:"
dig $DOMAIN NS +short
# 2. A kaydı kontrolü
echo -e "\n[2] A Kaydı:"
dig $DOMAIN A +short
# 3. MX kaydı kontrolü
echo -e "\n[3] MX Kaydı:"
dig $DOMAIN MX +short
# 4. TXT kaydı kontrolü
echo -e "\n[4] TXT Kayıtları:"
dig $DOMAIN TXT +short
# 5. SOA kaydı kontrolü
echo -e "\n[5] SOA Kaydı:"
dig $DOMAIN SOA +short
# 6. Farklı DNS sunucularından kontrol
echo -e "\n[6] Propagasyon Kontrolü:"
for dns in 8.8.8.8 1.1.1.1 9.9.9.9; do
result=$(dig @$dns $DOMAIN A +short)
echo " $dns → $result"
done
# 7. Reverse DNS kontrolü
IP=$(dig $DOMAIN A +short | head -1)
if [ -n "$IP" ]; then
echo -e "\n[7] Reverse DNS ($IP):"
dig -x $IP +short
fi
echo -e "\n=== Kontrol Tamamlandı ==="
DNS sorunları, sunucu yönetiminde en sık karşılaşılan problemlerden biridir. dig ve nslookup araçlarını etkin kullanarak sorunları hızlıca teşhis edebilir, propagasyon süreçlerini takip edebilir ve cache sorunlarını çözebilirsiniz. DNS değişikliklerinden önce TTL değerlerini düşürmeyi ve değişiklik sonrası farklı DNS sunucularından doğrulama yapmayı unutmayın.
DNS propagasyon süresi TTL değerine bağlıdır. Düşük TTL (300 sn) ile değişiklikler 5-30 dakikada yayılabilir. Yüksek TTL (86400 sn) ile 24-48 saat sürebilir. NS kaydı değişiklikleri genellikle en uzun süren değişikliklerdir.
Ubuntu/Debian: sudo apt install dnsutils, CentOS/RHEL: sudo yum install bind-utils, macOS: Homebrew ile brew install bind komutuyla kurabilirsiniz.
ISP'nizin DNS sunucusu hâlâ eski kaydı cache'liyor olabilir. Google DNS (8.8.8.8) veya Cloudflare DNS (1.1.1.1) kullanarak test edin. Ayrıca tarayıcı DNS cache'ini de temizlemeyi unutmayın.
Domain'in süresinin dolmadığını whois ile kontrol edin. Nameserver'ların doğru yapılandırıldığını dig domain.com NS ile doğrulayın. DNS kaydının authoritative nameserver'da mevcut olduğunu dig @ns1.domain.com domain.com A ile kontrol edin.
Linux'ta /etc/resolv.conf dosyasını düzenleyerek veya systemd-resolved yapılandırmasını güncelleyerek DNS sunucunuzu değiştirebilirsiniz. Kalıcı değişiklik için NetworkManager veya netplan yapılandırmasını kullanmanız önerilir.
SSH bağlantı sorunlarını çözme rehberi: Path.net firewall kuralları, Default Block, SSH portu için filtre kuralı oluşturma ve sorun giderme adımları.
RDP bağlantı sorunlarını çözme rehberi: Path.net firewall kuralları, Default Block, RDP portu için filtre kuralı oluşturma ve sorun giderme adımları.
WinMTR ve Linux MTR ile ağ testi yapma, ICMP filtre kuralı oluşturma ve sonuçları destek ekibine gönderme rehberi. Paket kaybı ve gecikme analizi.