Jika di Linux koneksi internet terlihat masih ada, tetapi situs web tidak bisa dibuka, kemungkinan besar ada masalah pada resolusi DNS. DNS berfungsi menerjemahkan nama domain seperti example.com menjadi alamat IP. Jika proses ini gagal, jaringan mungkin masih aktif, tetapi banyak aktivitas internet biasa tidak akan berjalan dengan benar.
Gejala yang Sering Muncul
- Browser menampilkan pesan bahwa server tidak ditemukan
ping 8.8.8.8berhasil, tetapiping google.comgagalapt,dnf,yum, ataupacmangagal mengunduh paket- Muncul pesan
Temporary failure in name resolution
Langkah Awal: Pisahkan Masalah Jaringan dan DNS
Pertama, pastikan apakah masalahnya ada pada jaringan secara keseluruhan atau hanya pada DNS.
ping -c 4 8.8.8.8
ping -c 4 google.com
ip addr
ip route
Jika 8.8.8.8 bisa diakses tetapi google.com tidak, maka kemungkinan besar DNS yang bermasalah. Jika alamat IP langsung pun gagal diakses, masalahnya mungkin berada pada Wi-Fi, kartu jaringan, gateway, atau routing.
Penyebab Umum
1. Konfigurasi /etc/resolv.conf salah
Pada banyak distribusi Linux, informasi DNS disimpan dalam /etc/resolv.conf. Jika file ini tidak memiliki nameserver yang benar, resolusi nama tidak akan berjalan.
cat /etc/resolv.conf
Contoh isi:
nameserver 8.8.8.8
nameserver 1.1.1.1
Jika file kosong atau menunjuk ke DNS lokal yang salah, maka domain tidak bisa diterjemahkan. Perlu diingat bahwa pada sistem Linux modern, file ini sering diatur otomatis oleh NetworkManager atau systemd-resolved, sehingga edit manual bisa tertimpa.
2. Masalah pada systemd-resolved
Pada sistem seperti Ubuntu, systemd-resolved sering mengelola DNS dan menggunakan 127.0.0.53 sebagai resolver lokal. Jika layanan ini berhenti, DNS akan gagal.
systemctl status systemd-resolved
resolvectl status
Jika bermasalah, restart layanan:
sudo systemctl restart systemd-resolved
3. DNS dari NetworkManager tidak diterapkan dengan benar
Pada Linux desktop, NetworkManager biasanya mengambil DNS dari DHCP. Jika profil jaringan rusak atau koneksi bermasalah, DNS yang benar mungkin tidak diterapkan.
nmcli dev show | grep DNS
nmcli connection show
Jika perlu, restart NetworkManager:
sudo systemctl restart NetworkManager
4. Pengaruh VPN, proxy, atau firewall
VPN dapat mengubah jalur permintaan DNS. Firewall juga bisa memblokir port 53. Dalam kondisi seperti ini, koneksi jaringan tampak normal, tetapi pencarian nama domain gagal.
5. Cache DNS rusak atau kedaluwarsa
Cache lokal yang salah bisa membuat hanya domain tertentu yang gagal diakses. Jika sistem menggunakan systemd-resolved atau nscd, menghapus cache dapat membantu.
sudo resolvectl flush-caches
Langkah Penanganan Praktis
Langkah 1: Uji langsung ke DNS publik
nslookup google.com 8.8.8.8
dig google.com @8.8.8.8
Jika ini berhasil, berarti DNS publik normal dan masalah ada pada konfigurasi lokal.
Langkah 2: Set DNS publik sementara
sudo sh -c 'printf "nameserver 8.8.8.8\nnameserver 1.1.1.1\n" > /etc/resolv.conf'
Ini hanya solusi sementara. Setelah reboot atau reconnect, konfigurasi bisa kembali seperti semula. Untuk perbaikan permanen, Anda perlu memperbaiki pengaturan NetworkManager, netplan, atau systemd-resolved.
Langkah 3: Periksa netplan di Ubuntu
sudo nano /etc/netplan/*.yaml
Contoh:
nameservers:
addresses: [8.8.8.8,1.1.1.1]
Lalu terapkan:
sudo netplan apply
Langkah 4: Minta ulang konfigurasi DHCP
sudo dhclient -r
sudo dhclient
Jika server DHCP sebelumnya memberikan DNS yang salah, langkah ini bisa membantu memperbaikinya.
Perintah yang Berguna untuk Pengecekan
ping -c 4 8.8.8.8
ping -c 4 google.com
cat /etc/resolv.conf
systemctl status systemd-resolved
resolvectl status
nmcli dev show | grep DNS
nslookup google.com
dig google.com
journalctl -u systemd-resolved --no-pager | tail -n 50
Cara Mencegah Masalah Berulang
- Jangan hanya mengedit
/etc/resolv.confsecara manual lalu berhenti di situ - Pahami apakah DNS dikelola oleh DHCP, NetworkManager, atau systemd-resolved
- Setelah memasang VPN, periksa apakah DNS berubah
- Untuk server, lebih aman menentukan DNS statis secara jelas
Kesimpulan
Jika Linux tidak bisa melakukan resolusi DNS, langkah terpenting adalah memeriksa apakah alamat IP masih bisa diakses. Dengan begitu, Anda bisa mengetahui apakah masalahnya hanya pada DNS atau pada jaringan secara umum. Setelah itu, periksa /etc/resolv.conf, systemd-resolved, NetworkManager, DHCP, dan pengaturan VPN satu per satu. Solusi terbaik bukan hanya memperbaiki sementara, tetapi memahami layanan mana yang sebenarnya mengelola DNS di sistem Anda.