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 कैसे कॉन्फ़िगर करें
  • DNS सेटिंग्स की जाँच कैसे करें

पहले, चलिए निर्धारित करते हैं कि आपका सिस्टम कौन सा पर्यावरण उपयोग कर रहा है।

2. उबंटू दो प्रमुख DNS कॉन्फ़िगरेशन विधियाँ प्रदान करता है

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

यहाँ हम यह तथ्य सारांशित करते हैं कि उबंटू में दो स्वतंत्र DNS कॉन्फ़िगरेशन सिस्टम हैं।

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

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

GUI के बिना VPS या भौतिक सर्वर वातावरण में, Netplan लगभग हमेशा उपयोग किया जाता है।
AWS, Vultr, ConoHa, या Oracle Cloud जैसे क्लाउड वातावरण भी आमतौर पर इस विधि का उपयोग करते हैं।

NetworkManager (GUI)

  • डेस्कटॉप पीसी वातावरण में सामान्य (उबंटू डेस्कटॉप)
  • IPv4 / IPv6 सेटिंग्स के माध्यम से DNS कॉन्फ़िगरेशन की अनुमति देता है
  • 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/

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

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 आपके NIC के अनुसार अलग हो सकता है। इसे ip a या ip link से जांचें।

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

परिवर्तनों को तुरंत लागू करने के लिए उपयोग करें:

sudo netplan apply

यदि त्रुटियाँ दिखाई देती हैं, तो YAML इंडेंटेशन सबसे आम कारण है।
स्पेसिंग और पदानुक्रम की जाँच करें—टैब का उपयोग नहीं किया जा सकता।

क्या DHCP और मैन्युअल DNS साथ-साथ काम कर सकते हैं?

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

उदाहरण:

dhcp4: true
nameservers:
  addresses: [9.9.9.9]

यह कॉन्फ़िगरेशन “IP = स्वचालित, DNS = मैन्युअल” सेट करता है।

4. Ubuntu डेस्कटॉप पर DNS कॉन्फ़िगरेशन के लिए NetworkManager (GUI) का उपयोग

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

सेटिंग्स विंडो कैसे खोलें

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

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

उदाहरण इनपुट (IPv4 के माध्यम से DNS निर्दिष्ट करें)

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

8.8.8.8, 1.1.1.1

मानों को दर्ज करने के बाद, “Apply” या “Save” पर क्लिक करें। यह सुनिश्चित करने के लिए कि सेटिंग्स लागू हों, नेटवर्क को डिस्कनेक्ट करके फिर से कनेक्ट करने की सलाह दी जाती है।

यदि आप IPv6 का उपयोग कर रहे हैं

“IPv6” टैब में समान DNS इनपुट फ़ील्ड होता है।
ड्यूल‑स्टैक नेटवर्क में, स्थिरता के लिए 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 द्वारा वर्तमान में उपयोग किए जा रहे नेमसर्वर को दिखाता है।
बहु‑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 सर्वर निर्दिष्ट करना अनुशंसित है।
यदि एक उपलब्ध नहीं रहता, तो सिस्टम स्वचालित रूप से दूसरे को क्वेरी करता है।

यदि आप आंतरिक DNS (जैसे कॉर्पोरेट AD) का उपयोग करते हैं, तो सार्वजनिक DNS के बजाय आंतरिक DNS सर्वर निर्दिष्ट करना आवश्यक है।
आंतरिक नाम समाधान अक्सर बाहरी DNS प्रदर्शन पर प्राथमिकता लेता है।

7. DNS अक्सर नेटवर्क का बॉटलनेक बन जाता है

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

  • वेबपेज लोड करने का पहला चरण असामान्य रूप से धीमा महसूस होता है
  • पिंग तेज़ है लेकिन वेब ब्राउज़िंग सुस्त महसूस होती है
  • SPA फ्रेमवर्क (React / Vue) का प्रारंभिक लोड धीमा होता है

These cases often behave like this: “एक ही URL को कई बार लोड करने के बाद यह तेज़ हो जाता है, लेकिन पहली बार का एक्सेस अजीब तरह से धीमा रहता है।”
यह इसलिए होता है क्योंकि DNS प्रारंभिक प्रवेश बिंदु है।

विशेष रूप से VPS या अंतरराष्ट्रीय क्षेत्रों (जैसे, us-east / eu-west) में, सार्वजनिक DNS आपके ISP के डिफ़ॉल्ट DNS से बेहतर प्रदर्शन कर सकता है।

DNS एक ऐसा बिंदु है जो नेटवर्क लेटेंसी के प्रति अत्यधिक संवेदनशील होता है।
ऑपरेटिंग सिस्टम की परवाह किए बिना, DNS ट्यूनिंग वेब इंजीनियर्स को करनी चाहिए वाली पहली अनुकूलन में से एक है।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Q1: मैंने /etc/resolv.conf को संपादित किया लेकिन रीबूट के बाद यह रीसेट हो जाता है। क्यों?
→ Ubuntu के systemd-resolved स्वचालित रूप से /etc/resolv.conf जेनरेट करता है।
इस फ़ाइल को मैन्युअली एडिट करने के लिए नहीं बनाया गया है।
इसके बजाय Netplan या NetworkManager का उपयोग करें।

Q2: मुझे यकीन नहीं है कि मैं Netplan उपयोग कर रहा हूँ या NetworkManager। मैं कैसे जांचूँ?
→ पहले जांचें:

ls /etc/netplan/

यदि YAML फ़ाइलें मौजूद हैं, तो संभवतः Netplan उपयोग हो रहा है।
यदि आप GUI का उपयोग कर रहे हैं, तो अधिक संभावना है कि NetworkManager उपयोग हो रहा है।

Q3: क्या मैं DHCP के माध्यम से स्वचालित रूप से IP प्राप्त कर सकता हूँ और फिर भी DNS को मैन्युअली सेट कर सकता हूँ?
→ हाँ।
Netplan और NetworkManager दोनों “IP = AUTO, DNS = manual” की अनुमति देते हैं।

Q4: क्या DNS बदलने से हमेशा वेब ब्राउज़िंग तेज़ हो जाएगी?
→ हमेशा नहीं।
DNS केवल प्रारंभिक नाम लुकअप को प्रभावित करता है।
यह अक्सर पहली लोड को तेज़ करता है, लेकिन अन्य जगहों पर धीमी इमेजेज़/सीडीएन/API अभी भी धीमी प्रदर्शन का कारण बन सकते हैं।

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