Linux Sunucuda DNS Çözümleme Hatası Nasıl Çözülür?
Temporary failure in name resolution, domain çözememe ve apt update DNS hataları için adım adım rehber.
Linux sunucularda internet bağlantısı var gibi görünmesine rağmen domain adresleri çözümlenemeyebilir. Bu durumda sunucu IP adreslerine erişebilir fakat google.com, debian.org, ubuntu.com veya lisans/API servisleri gibi alan adlarına bağlanamaz.
Bu problem özellikle şu işlemlerde kendini gösterir:
- apt update veya yum update sırasında hata alınması
- WHMCS lisans, ödeme veya API bağlantılarının çalışmaması
- Oyun panelinin uzak API adreslerine bağlanamaması
- Sunucuda ping IP çalışırken domain pinginin çalışmaması
- Temporary failure in name resolution hatası görülmesi
1. Sorunun Gerçekten DNS Olduğunu Anlama
Önce IP adresine ping atarak sunucunun genel internet erişimini kontrol edin.
ping -c 4 8.8.8.8
Eğer bu komut cevap veriyorsa, sunucunun internete IP seviyesinde erişimi vardır. Şimdi domain çözümlemeyi test edin:
ping -c 4 google.com
IP ping çalışıyor fakat domain ping çalışmıyorsa sorun büyük ihtimalle DNS tarafındadır.
2. Mevcut DNS Ayarlarını Kontrol Etme
Linux sistemlerde DNS sunucuları genellikle /etc/resolv.conf dosyasında tanımlanır.
cat /etc/resolv.conf
Sağlıklı bir DNS ayarı genellikle şu şekilde görünür:
nameserver 1.1.1.1 nameserver 8.8.8.8
Eğer dosya boşsa, hatalı IP adresleri varsa veya sadece yerel/çalışmayan DNS adresleri yazıyorsa domain çözümleme başarısız olabilir.
3. Geçici DNS Tanımlama
Hızlı test için aşağıdaki komutla geçici DNS tanımlayabilirsiniz:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Daha sonra tekrar test edin:
ping -c 4 google.com
4. Ubuntu / Debian Sistemlerde Kalıcı DNS Ayarı
Modern Ubuntu sistemlerinde ağ ayarları genellikle netplan ile yönetilir. Netplan dosyalarını listeleyin:
ls /etc/netplan/
Dosyayı düzenleyin:
nano /etc/netplan/01-netcfg.yaml
Örnek DNS tanımı:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Ayarı uygulamak için:
netplan apply
Eğer SSH üzerinden bağlıysanız ve ağ ayarından emin değilseniz dikkatli olun. Yanlış netplan ayarı SSH bağlantınızı kesebilir.
5. CentOS / AlmaLinux / Rocky Linux DNS Ayarı
RedHat tabanlı sistemlerde DNS ayarları NetworkManager üzerinden yapılabilir.
Aktif bağlantı adını görmek için:
nmcli con show
Örnek DNS ayarı:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
Bağlantı adınız farklı olabilir. Komutta kendi bağlantı adınızı kullanmalısınız.
6. systemd-resolved Kontrolü
Bazı sistemlerde DNS çözümleme systemd-resolved servisi tarafından yönetilir.
systemctl status systemd-resolved
Servis kapalıysa başlatabilirsiniz:
systemctl enable systemd-resolved systemctl start systemd-resolved
DNS durumunu görmek için:
resolvectl status
7. Paket Güncelleme Hatalarında DNS Kontrolü
DNS bozuk olduğunda paket yöneticileri de çalışmaz. Örneğin şu hatalar görülebilir:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
Bu durumda paket deposu bozuk sanılmamalıdır. Önce DNS çözümleme test edilmelidir.
Sık Yapılan Hatalar
- İnternet yok sanıp aslında sadece DNS bozuk olduğunu fark etmemek
- /etc/resolv.conf dosyasına geçici DNS yazıp kalıcı çözüm sanmak
- Netplan dosyasında boşluk girintilerini yanlış yapmak
- NetworkManager bağlantı adını yanlış yazmak
- DNS problemi yüzünden çalışan API veya lisans sistemini hatalı sanmak
FAQ
IP ping çalışıyor ama domain ping çalışmıyor, sorun nedir?
Büyük ihtimalle DNS çözümleme sorunu vardır. Sunucu internete çıkabiliyor ama alan adlarını IP adresine çeviremiyordur.
Hangi DNS sunucularını kullanabilirim?
Yaygın olarak 1.1.1.1, 1.0.0.1, 8.8.8.8 ve 8.8.4.4 kullanılabilir. Kurumsal yapılarda özel DNS sunucusu tercih edilebilir.
resolv.conf neden kendiliğinden değişiyor?
Çünkü dosya çoğu sistemde netplan, NetworkManager veya systemd-resolved tarafından otomatik yönetilir.
Güvenlik ve Operasyon Önerileri
- DNS değişikliği sonrası mutlaka domain çözümleme testi yapın.
- Ödeme, lisans ve API sistemlerinde DNS hatalarını ilk kontrol listesine ekleyin.
- Tek DNS yerine en az iki DNS adresi tanımlayın.
- Sunucu sağlayıcınız özel DNS veriyorsa onu da değerlendirin.
- Yanlış netplan ayarının SSH bağlantısını kesebileceğini unutmayın.
Bu makale PvPSunucusu için özel olarak hazırlanmıştır.