File /etc/resolv.conf adalah file yang berisi DNS resolver atau IP address dari DNS server (nameserver) yang berfungsi untuk mentranslasi dari nama domain menjadi IP address.
Di Debian 10, nameserver default yang digunakan yaitu 10.0.0.111.
cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 10.0.0.111
Misalnya ingin menggunakan DNS server milik Cloudflare (1.1.1.1) dan Google (8.8.8.8) sebagai primary dan secondary nameserver, pasang IP address tersebut di baris pertama dan kedua.
sudo nano /etc/resolv.conf
Update menjadi seperti di bawah ini
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 8.8.8.8 nameserver 4.4.1.1 nameserver 10.0.0.111
Masalah
Masalah yang terjadi adalah file resolv.conf akan berubah kembali seperti semula setelah komputer direstart, yaitu hanya berisi IP address 10.0.0.111. Di file resolv.conf pun terdapat komentar DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN, yang artinya jangan mengubah file ini secara manual karena akan ditimpa kembali konfigurasinya.
Solusi
Untuk mengatasi masalah di atas adalah dengan cara menggunakan resolvconf service.
Install paket resolvconf.
sudo apt install resolvconf
Kemudian aktifkan dan jalankan resolvconf service.
sudo systemctl enable resolvconf sudo systemctl start resolvconf sudo systemctl status resolvconf
Hasilnya seperti di bawah ini.
● resolvconf.service - Nameserver information manager Loaded: loaded (/lib/systemd/system/resolvconf.service; enabled; vendor preset: Active: active (exited) since Fri 2022-02-04 17:36:54 WIB; 6h ago Docs: man:resolvconf(8) Process: 835 ExecStartPre=/bin/mkdir -p /run/resolvconf/interface (code=exited, Process: 836 ExecStartPre=/bin/touch /run/resolvconf/postponed-update (code=exit Process: 837 ExecStart=/sbin/resolvconf --enable-updates (code=exited, status=0/ Main PID: 837 (code=exited, status=0/SUCCESS) Feb 04 17:36:54 server systemd[1]: Starting Nameserver information manager... Feb 04 17:36:54 server systemd[1]: Started Nameserver information manager.
Kemudian masukkan IP address nameserver di dalam file head konfigurasi resolvconf.
sudo nano /etc/resolvconf/resolv.conf.d/head
Masukkan nameserver di bawah komentar.
nameserver 8.8.8.8 nameserver 4.4.1.1
Lalu jalankan update resolv.conf.
sudo resolvconf --enable-updates sudo resolvconf -u
Verifikasi dengan menampilkan isi file resolv.conf.
cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 8.8.8.8 nameserver 4.4.1.1 nameserver 10.0.0.111
Jika ingin mengubah atau menambahkan IP address nameserver lain, ubah kembali file head, dan jalankan update resolvconf.
sudo resolvconf -u