Ubuntu पर DNS कैसे कॉन्फ़िगर करें: Netplan और NetworkManager की व्याख्या

.## 1. परिचय: उबंटू पर DNS कॉन्फ़िगरेशन क्यों महत्वपूर्ण है

DNS (डोमेन नेम सिस्टम) वह तंत्र है जो डोमेन नामों को IP पते में बदलता है।
हर बार जब हम कोई वेबसाइट खोलते हैं, ऑपरेटिंग सिस्टम पृष्ठभूमि में चुपचाप DNS क्वेरी करता है।

उबंटू का उपयोग करते समय आप निम्नलिखित स्थितियों का सामना कर सकते हैं:

  • पृष्ठ लोड होने में “किसी तरह धीमे” लगते हैं
  • एक ही नेटवर्क अन्य डिवाइसों की तुलना में धीमा महसूस होता है
  • कभी‑कभी LAN पर आंतरिक वेब सेवाओं तक पहुँच नहीं पाते

आश्चर्यजनक रूप से अक्सर ये समस्याएँ कनेक्शन की गुणवत्ता के कारण नहीं बल्कि धीमी DNS रिज़ॉल्यूशन के कारण होती हैं।

उबंटू में, संस्करण 22.04 से आगे भी, शुरुआती लोगों के लिए एक भ्रमित करने वाला बिंदु यह है कि DNS कॉन्फ़िगर करने के कई तरीके हैं। विशेष रूप से, दो प्रमुख दृष्टिकोण हैं:

  • Netplan (सर्वर और गैर‑GUI वातावरण में सामान्यतः उपयोग किया जाता है)
  • NetworkManager (GUI वाले डेस्कटॉप वातावरण में उपयोग किया जाता है)

क्योंकि प्रक्रिया उपयोग किए जा रहे तरीके के अनुसार अलग होती है, उबंटू के लिए DNS कॉन्फ़िगरेशन पर कोई भी गाइड पहले वातावरण की पहचान करे और फिर आपको उचित विधि की ओर मार्गदर्शन करे।

DNS केवल एक छोटा सेटिंग नहीं है—यह उबंटू पर पूरे नेटवर्क स्टैक का “प्रवेश बिंदु” है।

उदाहरण के लिए, केवल Google Public DNS (8.8.8.8) या Cloudflare (1.1.1.1) पर स्विच करने से ब्राउज़र की प्रतिक्रिया में स्पष्ट सुधार हो सकता है।
यह प्रभाव विशेष रूप से VPS, क्लाउड और विदेशी नेटवर्क वातावरण में स्पष्ट होता है।

इस लेख में, हम स्पष्ट रूप से अलग करेंगे और समझाएंगे:

  • GUI का उपयोग करके DNS कैसे कॉन्फ़िगर करें
  • Netplan का उपयोग करके DNS कैसे कॉन्फ़िगर करें
  • बाद में अपनी सेटिंग्स की जाँच कैसे करें

अगले भाग में, हम यह निर्धारित करके शुरू करेंगे कि आप किस प्रकार के वातावरण का उपयोग कर रहे हैं।

2. उबंटू पर DNS कॉन्फ़िगर करने के दो प्रमुख तरीके

उबंटू में, भले ही लक्ष्य “DNS कॉन्फ़िगरेशन” हो, वास्तविक विधि उपयोग किए जा रहे नेटवर्क प्रबंधन प्रणाली के अनुसार अलग होती है।
यदि आप इस अंतर को समझे बिना आगे बढ़ते हैं, तो आपको सेटिंग्स लागू न होने या रीबूट के बाद वापस लौटने जैसी समस्याओं का सामना करना पड़ सकता है।

पहले, स्पष्ट करते हैं कि उबंटू पर दो अलग-अलग DNS कॉन्फ़िगरेशन पथ हैं।

Netplan (YAML-आधारित कॉन्फ़िगरेशन)

  • मुख्यतः सर्वर वातावरण के लिए उपयोग किया जाता है
  • उबंटू LTS रिलीज़ 18.04 से आगे तक मानकीकृत
  • कॉन्फ़िगरेशन फ़ाइलें /etc/netplan/*.yaml पर स्थित हैं
  • systemd-resolved के साथ मिलकर काम करता है

VPS इंस्टेंस या बिना GUI वाले फिजिकल सर्वर पर, Netplan लगभग हमेशा सही मान लिया जाता है।
यह AWS, Vultr, ConoHa, Oracle Cloud और समान प्लेटफ़ॉर्म पर सामान्य है।

NetworkManager (GUI-आधारित)

  • मुख्यतः डेस्कटॉप पीसी (उबंटू डेस्कटॉप) पर उपयोग किया जाता है
  • DNS को IPv4 / IPv6 सेटिंग स्क्रीन के माध्यम से निर्दिष्ट किया जा सकता है
  • विज़ुअल इंटरफ़ेस के कारण समझने में आसान

यदि आप GUI‑सक्षम वातावरण का उपयोग कर रहे हैं, तो यह सबसे संभावित सेटअप है।
सामान्य मामलों में शामिल है “मैं रोज़ उबंटू उपयोग करता हूँ और सिर्फ़ ब्राउज़िंग धीमी लगने के कारण DNS बदलना चाहता हूँ।”

निर्धारित करें कि आप कौन सा वातावरण उपयोग कर रहे हैं

जाँचने का सबसे सरल तरीका यह देखना है कि /etc/netplan/ में फ़ाइलें मौजूद हैं या नहीं।

ls /etc/netplan/

यदि आपको YAML फ़ाइलें मिलती हैं, तो Netplan संभवतः उपयोग में है।
यदि डायरेक्टरी खाली है या आप GUI‑आधारित सिस्टम पर हैं, तो NetworkManager सेटिंग्स की जाँच करना आसान तरीका है।

3. Netplan के साथ DNS कॉन्फ़िगर करना (सर्वर वातावरण)

Netplan नेटवर्क कॉन्फ़िगरेशन को परिभाषित करने के लिए YAML फ़ाइलों का उपयोग करता है।
उबंटू सर्वर और बिना GUI वाले VPS वातावरण में, यह विधि लगभग निश्चित है।

यहाँ, हम DNS मानों को ठीक करने के सामान्य मामले पर ध्यान देते हैं, एक न्यूनतम और व्यावहारिक उदाहरण का उपयोग करके।

Netplan कॉन्फ़िगरेशन फ़ाइल खोलें

Netplan कॉन्फ़िगरेशन फ़ाइलें /etc/netplan/ में स्थित हैं।
फ़ाइल का नाम वातावरण के अनुसार बदलता है (उदाहरण के लिए, 00-installer-config.yaml)।

पहले, फ़ाइल नाम की पुष्टि करें:

ls /etc/netplan/

एक बार पहचान लेने के बाद, फ़ाइल को संपादक में खोलें। उदाहरण के लिए:

sudo nano /etc/netplan/00-installer-config.yaml

उदाहरण: YAML में DNS एंट्री जोड़ना

यह उदाहरण Google DNS और Cloudflare DNS दोनों को सेट करता है।

.“` network: version: 2 ethernets: ens33: dhcp4: true nameservers: addresses: [8.8.8.8, 1.1.1.1]

इंटरफ़ेस का नाम `ens33` सिस्टम के अनुसार बदलता है।  
`ip a` या `ip link` का उपयोग करके इसे जांचें।



### कॉन्फ़िगरेशन लागू करें



संपादन के बाद, कॉन्फ़िगरेशन को तुरंत लागू करें:

sudo netplan apply

यदि त्रुटियाँ आती हैं, तो YAML फ़ाइल में इंडेंटेशन समस्याएँ सबसे आम कारण होती हैं।  
स्पेसिंग को ध्यान से जांचें। टैब का उपयोग अनुमति नहीं है।



### क्या DHCP और स्थिर DNS को साथ में उपयोग किया जा सकता है?



यह एक सामान्य प्रश्न है। हाँ, DHCP के माध्यम से IP पता प्राप्त करते हुए DNS सर्वर को मैन्युअल रूप से निर्दिष्ट करना संभव है।



उदाहरण:

dhcp4: true nameservers: addresses: [9.9.9.9]

इस मामले में, IP पते स्वचालित होते हैं, जबकि DNS स्थिर रहता है।



## **4. NetworkManager का उपयोग (Ubuntu डेस्कटॉप)**



यदि आप डेस्कटॉप उपयोग के लिए Ubuntu का उपयोग कर रहे हैं, तो आप टर्मिनल के बिना DNS सेटिंग्स बदल सकते हैं।  
सामान्य मामलों जैसे “सिर्फ ब्राउज़र धीमा लगता है” या “मैं सिर्फ सार्वजनिक DNS में बदलना चाहता हूँ,” GUI तरीका सबसे तेज़ है।



### सेटिंग्स स्क्रीन कैसे खोलें



1. शीर्ष‑दाएँ कोने में नेटवर्क आइकन पर क्लिक करें  
2. “Settings” या “Network Settings” खोलें  
3. सक्रिय कनेक्शन (वायर्ड या Wi‑Fi) चुनें  
4. “IPv4” टैब पर जाएँ



DNS इनपुट फ़ील्ड यहाँ स्थित है।  
सटीक शब्दावली Ubuntu संस्करण के अनुसार थोड़ा अलग हो सकती है, लेकिन पतों को कॉमा‑सेपरेटेड सूची के रूप में दर्ज किया जा सकता है।



### DNS इनपुट का उदाहरण (IPv4)



Google DNS और Cloudflare DNS का उपयोग करते हुए उदाहरण:

8.8.8.8, 1.1.1.1

मान दर्ज करने के बाद, “Apply” या “Save” पर क्लिक करें, और परिवर्तन प्रभावी होने के लिए नेटवर्क को पुनः कनेक्ट करें।



### IPv6 का उपयोग करते समय



उसी स्क्रीन में DNS इनपुट फ़ील्ड के साथ “IPv6” टैब भी शामिल है।  
ड्यूल‑स्टैक कनेक्शन पर, स्थिरता के लिए IPv4 और IPv6 दोनों के लिए DNS निर्दिष्ट करना आवश्यक हो सकता है।



### DHCP को स्थिर DNS के साथ मिलाना



GUI में भी, आप “ऑटोमैटिक IP, मैन्युअल DNS” कॉन्फ़िगर कर सकते हैं।  
यह घर या ऑफिस Wi‑Fi पर विशेष रूप से उपयोगी है जहाँ आप हर बार स्थिर IP मैन्युअल रूप से असाइन नहीं करना चाहते।



## **5. यह सत्यापित करने के लिए कि DNS सेटिंग्स लागू हुई हैं**



केवल मान दर्ज करके और सहेज कर DNS कॉन्फ़िगरेशन पूर्ण नहीं होता।  
सत्यापन आवश्यक है यह पुष्टि करने के लिए कि सेटिंग्स वास्तव में प्रभावी हैं।



Ubuntu पर, आप निम्नलिखित तीन तरीकों से DNS सत्यापित कर सकते हैं।



### dig कमांड का उपयोग करके क्वेरी

dig google.com

आउटपुट में “SERVER:” लेबल वाली पंक्ति देखें।  
यह दर्शाता है कि वर्तमान में कौन सा DNS सर्वर क्वेरी किया जा रहा है।



उदाहरण (अंश):

;; SERVER: 8.8.8.8#53(8.8.8.8)

जाँचें कि यह 8.8.8.8 (Google) या 1.1.1.1 (Cloudflare) दिखा रहा है।



### resolvectl status का उपयोग



यह विधि systemd-resolved के माध्यम से सटीक जानकारी प्रदान करती है।

resolvectl status

वर्तमान में संदर्भित नेमसर्वर प्रत्येक नेटवर्क इंटरफ़ेस के अनुसार प्रदर्शित होते हैं।  
कई NIC वाले सर्वरों पर, यह विधि dig से अधिक विश्वसनीय है।



### क्यों आपको /etc/resolv.conf को सीधे संपादित नहीं करना चाहिए

cat /etc/resolv.conf

यह फ़ाइल वर्तमान में उपयोग में DNS दिखाती है।  
हालाँकि, यह systemd-resolved द्वारा निर्मित एक जनरेटेड फ़ाइल है।  
कोई भी मैन्युअल संपादन ओवरराइट हो जाएगा, इसलिए इसे सीधे बदलना गलत है।



## **6. सामान्यतः उपयोग किए जाने वाले DNS प्रदाता (शुरुआती‑मित्र)**



DNS पते आप स्वयं नहीं बनाते।  
अधिकांश मामलों में, सार्वजनिक DNS सेवाओं का उपयोग किया जाता है।



यदि आप एक स्थिर और सुरक्षित प्रारंभिक बिंदु चाहते हैं, तो नीचे दिए गए विकल्प अच्छे हैं:



ProviderDNS Address
Google Public DNS8.8.8.8 / 8.8.4.4
Cloudflare1.1.1.1
Quad99.9.9.9
OpenDNS208.67.222.222 / 208.67.220.220
एक के बजाय दो DNS सर्वर निर्दिष्ट करने से विश्वसनीयता बढ़ती है। यदि एक उपलब्ध नहीं रहता, तो सिस्टम स्वचालित रूप से दूसरे पर स्विच हो जाता है। आंतरिक कॉर्पोरेट सिस्टम (जैसे Active Directory) तक पहुँचते समय, आपको आंतरिक DNS सर्वर का उपयोग करना चाहिए। ऐसे मामलों में, विश्वसनीय आंतरिक नाम समाधान को सार्वजनिक DNS से ऊपर प्राथमिकता दी जानी चाहिए। **7. DNS अक्सर एक छिपा बॉटलनेक होता है** हालांकि DNS किसी साधारण सेटिंग जैसा लगता है, लेकिन यह नेटवर्क स्पीड की धारणा पर बड़ा प्रभाव डालता है। इसका प्रभाव निम्नलिखित स्थितियों में विशेष रूप से स्पष्ट हो जाता है: * पहला पेज लोड असामान्य रूप से धीमा लगता है * पिंग तेज है, लेकिन वेब पेज धीरे लोड होते हैं * सर्वर हल्का है, लेकिन प्रारंभिक SPA (React / Vue) लोड भारी हैं ये लक्षण आमतौर पर बार-बार पहुंचने के बाद सुधर जाते हैं, जबकि पहला अनुरोध धीमा रहता है। यह इसलिए है क्योंकि DNS प्रारंभिक गेटवे के रूप में कार्य करता है। विशेष रूप से VPS या विदेशी क्षेत्रों (जैसे us-east या eu-west) पर, पब्लिक DNS अक्सर ISP के डिफ़ॉल्ट DNS से बेहतर प्रदर्शन करता है। DNS वह बिंदु है जहां नेटवर्क भीड़ से प्रेरित विलंब आसानी से प्रकट होता है। केवल Ubuntu पर ही नहीं, बल्कि वेब इंजीनियरों के लिए सामान्य रूप से, DNS अनुकूलन विचार करने योग्य पहली “एंट्री पॉइंट” अनुकूलनों में से एक है। **सामान्य प्रश्न** **Q1: मैंने /etc/resolv.conf को सीधे संपादित किया, लेकिन रीबूट के बाद यह वापस हो जाता है। क्यों?** → Ubuntu पर, systemd-resolved `/etc/resolv.conf` उत्पन्न करता है। इसे सीधे संपादित करने के लिए नहीं बनाया गया है। आपको Netplan या NetworkManager के माध्यम से DNS कॉन्फ़िगर करना होगा। **Q2: अगर मुझे पता न हो कि Netplan या NetworkManager में से कौन सा उपयोग हो रहा है?** → सबसे पहले, `/etc/netplan/` की जांच करें।

ls /etc/netplan/ “`

यदि YAML फाइलें मौजूद हैं, तो संभवतः Netplan उपयोग में है।
GUI वातावरण में, NetworkManager प्राथमिक उम्मीदवार है।

Q3: क्या मैं IP के लिए DHCP का उपयोग कर सकता हूं जबकि DNS को ठीक कर रहा हूं?
→ हां।
Netplan और NetworkManager दोनों स्वचालित IP के साथ मैन्युअल रूप से निर्दिष्ट DNS का समर्थन करते हैं।

Q4: क्या DNS बदलने से वेब हमेशा तेज हो जाएगा?
→ हमेशा नहीं।
DNS केवल प्रारंभिक नाम रिज़ॉल्यूशन को संभालता है।
यह अक्सर पहले चरण को तेज करता है, लेकिन धीमी इमेज, CDNs या APIs अभी भी बाधा बन सकती हैं।

Q5: क्या प्रक्रिया WSL2 (Windows पर Ubuntu) के लिए समान है?
→ नहीं।
WSL2 डिज़ाइन से resolv.conf को पुनः उत्पन्न करता है।
generateResolvConf=false जैसे अतिरिक्त सेटिंग्स की आवश्यकता होती है।
WSL के अपने DNS कॉन्फ़िगरेशन विचार हैं।