Linux Altında DNS Yapılandırması
Linux'ta DNS kullanımı , C kitaplığındaki Internet Etki Alanı Adı Sistemine (DNS) erişim sağlayan bir dizi yordam üzerinden gerçekleştirilir . Çözümleyici yapılandırma dosyası ( resolv.conf
), ilk kez bir işlem tarafından çağrıldığında çözümleyici yordamları tarafından okunan bilgileri içerir. Kısacası, DNS isteyen her işlem /etc/resolv.conf
kitaplığı okuyacaktır . NSS bunun üzerine yerleştirilmiştir ve ile yapılandırılmıştır /etc/nsswitch.conf
.
Linux DNS yapılandırma dosyasında bulunan /etc/resolv.conf
ANCAK otomatik olarak yönetmek ve DNS yapılandırma dosyasını ele almak istiyor programların bir numarası / hizmetler vardır /etc/resolv.conf
. Bazı durumlarda bu dosyayı kendiniz yönetmek isteyebilirsiniz. DNS'yi yöneten her program / hizmet /etc/dnsmasq.conf
(dnsmasq hizmeti için) gibi kendi yapılandırma dosyalarına sahiptir ve bağlantı değişikliği sırasında ve / veya diğer etkinliklerde DNS yapılandırmasını ekler ... DNS yapılandırma dosyasını kilitlemek için hızlı bir çözümdür, chattr +i /etc/resolv.conf
ancak bu önerilmez Bazı durumlarda, daha iyi bir çözüm DNS gibi (dnsmasq / network-manager / resolvconf / etc.) kullanarak tüm program / hizmetleri doğru şekilde ayarlamaktır.
DNS Kontrolünü Geri Alma
Burada, resolv.conf'un kontrolünü geri almak ve üzerine yazmaktan kaçınmak için kapsamlı bir liste verilmektedir ( DNS'in, resolv.conf dışındaki bir konumdan nasıl devre dışı bırakılacağı / ayarlanacağı) sisteminize / konfigürasyonunuza bağlı olarak, burada listelenen programlardan birine veya daha fazlasına sahip olmayabilir.
1. Resolvconf:
Yapılandırma dosyaları
cat /etc/resolvconf/resolv.conf.d/head
nameserver 8.8.4.4
cat /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.4.4
Config güncelle
sudo resolvconf -u
Resolvconf'u devre dışı bırak
systemctl disable --now resolvconf.service
2. Dnsmasq Hizmeti:
Yapılandırma dosyaları
cat /etc/dnsmasq.conf
server=1.1.1.1
server=8.8.4.4
Config güncelle
sudo systemctl restart dnsmasq.service
3. Ağ Yöneticisi:
Yapılandırma dosyaları
/etc/NetworkManager/*
DNS'yi devre dışı bırak
$ cat /etc/NetworkManager/conf.d/no-dns.conf
[main]
dns=none
DNS'yi etkinleştir
$ cat /etc/NetworkManager/conf.d/dns.conf
[main]
dns=default
[global-dns]
searches=example.com
[global-dns-domain-*]
Çözülmüş servis kullan
$ cat /usr/lib/NetworkManager/conf.d/resolved.conf
[main]
dns=systemd-resolved
Resolvconf kullanın
$ cat /usr/lib/NetworkManager/conf.d/resolvconf.conf
[main]
rc-manager=resolvconf
Config güncelle
systemctl restart NetworkManager.service
4. Ağ Arabirimleri:
Yapılandırma dosyaları
$ cat /etc/network/interfaces
#nameservers
# or dns-search like so
# dns-search x.y
dns-nameservers 4.4.4.4 8.8.8.8
Yapılandırmayı Güncelle
reboot
5. DHCP İstemcisi:
Yapılandırma dosyaları
$ cat /etc/dhcp3/dhclient.conf
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;
Yapılandırmayı Güncelle
reboot
6. Rdnssd Hizmeti:
Rdnssd'yi devre dışı bırak
systemctl disable --now rdnssd.service
7. Çözülmüş Hizmet:
Çözüldü devre dışı bırakıldı
systemctl disable --now systemd-resolved.service
8. Netconfig:
Yapılandırma dosyaları
/etc/sysconfig/network/config
Netconfig'i devre dışı bırak
cat /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY=""
Yapılandırmayı Güncelle
reboot
DNS Sunucusunu Ayarlama
Bir /etc/resolv.conf
yapılandırma örneği
#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