DNS विन्यास लिनक्स के तहत
लिनक्स पर डीएनएस का उपयोग सी लाइब्रेरी में रूटीन के सेट पर किया जाता है जो इंटरनेट डोमेन नेम सिस्टम (डीएनएस) तक पहुंच प्रदान करता है। रिज़ॉल्वर कॉन्फ़िगरेशन फ़ाइल ( resolv.conf
) में ऐसी जानकारी होती है जो किसी प्रक्रिया द्वारा पहली बार मंगाई गई रिज़ॉल्वर रूटीन द्वारा पढ़ी जाती है। संक्षेप में प्रत्येक प्रक्रिया अनुरोध करती है कि डीएनएस /etc/resolv.conf
पुस्तकालय से अधिक पढ़ेगा । एनएसएस इसके शीर्ष पर स्तरित है, और इसके द्वारा कॉन्फ़िगर किया गया है /etc/nsswitch.conf
।
लिनक्स DNS कॉन्फिगरेशन फाइल में स्थित है /etc/resolv.conf
लेकिन BUT में कई प्रोग्राम / सर्विसेज हैं जो DNS कॉन्फिगरेशन फाइल को अपने आप मैनेज करना और हैंडल करना चाहते हैं /etc/resolv.conf
। कुछ स्थितियों में आप इस फ़ाइल को स्वयं प्रबंधित करना चाह सकते हैं। DNS को प्रबंधित करने वाले प्रत्येक प्रोग्राम / सेवा की अपनी स्वयं की कॉन्फ़िगरेशन फ़ाइलें होती हैं जैसे /etc/dnsmasq.conf
(dnsmasq सेवा के लिए) और कनेक्शन परिवर्तन और / या अन्य घटनाओं पर DNS कॉन्फ़िगर को जोड़ना ... एक त्वरित समाधान DNS कॉन्फ़िगरेशन फ़ाइल को लॉक करना है, chattr +i /etc/resolv.conf
लेकिन इसकी अनुशंसा नहीं की जाती है निश्चित मामले में, एक बेहतर समाधान यह है कि DNS (dnsmasq / network-manager / resolvconf / etc) का उपयोग करके सभी प्रोग्राम / सेवाओं को सही ढंग से सेटअप किया जाए।
DNS का नियंत्रण वापस लेना
यहाँ resolv.conf के नियंत्रण को वापस पाने के लिए और इसे ओवरराइट करने से कैसे बचें ( resolv.conf के अलावा अन्य स्थान से DNS को सेटअप / अक्षम कैसे करें) से बचने के लिए यहाँ सेटअप की एक विस्तृत सूची है, ध्यान दें कि resolvconf resolv.conf से भी एक स्वतंत्र कार्यक्रम है। आपके सिस्टम / कॉन्फ़िगरेशन के आधार पर आपके पास यहां सूचीबद्ध कार्यक्रमों में से एक या कई नहीं हो सकते हैं।
1. Resolvconf:
फ़ाइलों को कॉन्फ़िगर करें
cat /etc/resolvconf/resolv.conf.d/head
nameserver 8.8.4.4
cat /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.4.4
कॉन्फिगर को अपडेट करें
sudo resolvconf -u
Resolvconf को अक्षम करें
systemctl disable --now resolvconf.service
2. Dnsmasq सेवा:
फ़ाइलों को कॉन्फ़िगर करें
cat /etc/dnsmasq.conf
server=1.1.1.1
server=8.8.4.4
कॉन्फिगर को अपडेट करें
sudo systemctl restart dnsmasq.service
3. नेटवर्क प्रबंधक:
फ़ाइलों को कॉन्फ़िगर करें
/etc/NetworkManager/*
डीएनएस को अक्षम करें
$ cat /etc/NetworkManager/conf.d/no-dns.conf
[main]
dns=none
DNS सक्षम करें
$ cat /etc/NetworkManager/conf.d/dns.conf
[main]
dns=default
[global-dns]
searches=example.com
[global-dns-domain-*]
सुलझी हुई सेवा का उपयोग करें
$ cat /usr/lib/NetworkManager/conf.d/resolved.conf
[main]
dns=systemd-resolved
रिजोल्वोन्फ का उपयोग करें
$ cat /usr/lib/NetworkManager/conf.d/resolvconf.conf
[main]
rc-manager=resolvconf
कॉन्फिगर को अपडेट करें
systemctl restart NetworkManager.service
4. नेटवर्क इंटरफेस:
फ़ाइलों को कॉन्फ़िगर करें
$ cat /etc/network/interfaces
#nameservers
# or dns-search like so
# dns-search x.y
dns-nameservers 4.4.4.4 8.8.8.8
विन्यास को अद्यतन करें
reboot
5. डीएचसीपी ग्राहक:
फ़ाइलों को कॉन्फ़िगर करें
$ cat /etc/dhcp3/dhclient.conf
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;
विन्यास को अद्यतन करें
reboot
6. Rdnssd सेवा:
Rdnssd को अक्षम करें
systemctl disable --now rdnssd.service
7. हल की गई सेवा:
निराकरण किया गया
systemctl disable --now systemd-resolved.service
8. Netconfig:
फ़ाइलों को कॉन्फ़िगर करें
/etc/sysconfig/network/config
Netconfig अक्षम करें
cat /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY=""
विन्यास को अद्यतन करें
reboot
DNS सर्वर सेट करना
एक /etc/resolv.conf
विन्यास का उदाहरण
#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