Linux Tidak Bisa Melakukan Resolusi DNS: Penyebab dan Cara Mengatasinya

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.8 berhasil, tetapi ping google.com gagal
  • apt, dnf, yum, atau pacman gagal 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.conf secara 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.

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *