DNS Config Di Linux
Penggunaan DNS di linux dilakukan melalui serangkaian rutin di pustaka C yang menyediakan akses ke Sistem Nama Domain Internet (DNS). File konfigurasi resolver ( resolv.conf
) berisi informasi yang dibaca oleh resolver secara rutin saat pertama kali dipanggil oleh suatu proses. Singkatnya setiap proses yang meminta DNS akan membaca /etc/resolv.conf
lebih dari pustaka. NSS berlapis di atas ini, dan dikonfigurasikan oleh /etc/nsswitch.conf
.
Linux DNS config terletak di file /etc/resolv.conf
TETAPI ada sejumlah program / layanan yang ingin secara otomatis mengelola dan menangani file konfigurasi DNS di /etc/resolv.conf
. Dalam beberapa situasi Anda mungkin ingin mengelola file ini sendiri. Setiap program / layanan yang mengelola DNS memiliki file konfigurasi sendiri seperti /etc/dnsmasq.conf
(untuk layanan dnsmasq) dan menambahkan konfigurasi DNS saat perubahan koneksi dan / atau pada peristiwa lain ... solusi cepat adalah dengan mengunci file konfigurasi DNS dengan chattr +i /etc/resolv.conf
tetapi ini tidak dianjurkan dalam kasus tertentu, solusi yang lebih baik adalah mengatur dengan benar semua program / layanan menggunakan DNS like (dnsmasq / network-manager / resolvconf / etc.)
Mendapatkan Kembali Kontrol DNS
Berikut ini adalah daftar lengkap pengaturan untuk mendapatkan kembali kontrol resolv.conf dan menghindari ditimpa ( cara menonaktifkan / pengaturan DNS dari lokasi lain selain resolv.conf ) perhatikan bahwa resolvconf adalah program independen dari resolv.conf, juga tergantung pada sistem / konfigurasi Anda, Anda mungkin tidak memiliki satu atau banyak program yang terdaftar di sini.
1. Resolvconf:
File konfigurasi
cat /etc/resolvconf/resolv.conf.d/head
nameserver 8.8.4.4
cat /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.4.4
Perbarui konfigurasi
sudo resolvconf -u
Nonaktifkan resolvconf
systemctl disable --now resolvconf.service
2. Layanan Dnsmasq:
File konfigurasi
cat /etc/dnsmasq.conf
server=1.1.1.1
server=8.8.4.4
Perbarui konfigurasi
sudo systemctl restart dnsmasq.service
3. Manajer Jaringan:
File konfigurasi
/etc/NetworkManager/*
Nonaktifkan DNS
$ cat /etc/NetworkManager/conf.d/no-dns.conf
[main]
dns=none
Aktifkan DNS
$ cat /etc/NetworkManager/conf.d/dns.conf
[main]
dns=default
[global-dns]
searches=example.com
[global-dns-domain-*]
Gunakan layanan yang diselesaikan
$ cat /usr/lib/NetworkManager/conf.d/resolved.conf
[main]
dns=systemd-resolved
Gunakan resolvconf
$ cat /usr/lib/NetworkManager/conf.d/resolvconf.conf
[main]
rc-manager=resolvconf
Perbarui konfigurasi
systemctl restart NetworkManager.service
4. Antarmuka Jaringan:
File konfigurasi
$ cat /etc/network/interfaces
#nameservers
# or dns-search like so
# dns-search x.y
dns-nameservers 4.4.4.4 8.8.8.8
Perbarui Konfigurasi
reboot
5. Klien DHCP:
File konfigurasi
$ cat /etc/dhcp3/dhclient.conf
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;
Perbarui Konfigurasi
reboot
6. Layanan Rdnssd:
Nonaktifkan rdnssd
systemctl disable --now rdnssd.service
7. Layanan Terselesaikan:
Nonaktifkan terselesaikan
systemctl disable --now systemd-resolved.service
8. Netconfig:
File konfigurasi
/etc/sysconfig/network/config
Nonaktifkan netconfig
cat /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY=""
Perbarui Konfigurasi
reboot
Pengaturan Server DNS
Contoh /etc/resolv.conf
konfigurasi
#Cloudflare
nameserver 1.0.0.1
#Google
#nameserver 8.8.8.8
#nameserver 8.8.4.4
#Cloudflare
#nameserver 1.1.1.1
#Classic Config
#nameserver 192.168.1.1
#search lan