उबुन्टुमा DNS कसरी कन्फिगर गर्ने: नेटक्लान र नेटवर्कम्यानेजरको पूर्ण मार्गदर्शिका

目次

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 प्रयोग गरेर जाँच गर्नुहोस्।

कन्फिगरेसन लागू गर्नुहोस्

Apply changes immediately using:

sudo netplan apply

यदि त्रुटिहरू देखापर्छन् भने, YAML इन्डेन्टेशन नै सबैभन्दा सामान्य कारण हो।
स्पेसिङ र पदानुक्रम जाँच गर्नुहोस्—ट्याबहरू प्रयोग गर्न सकिँदैन।

DHCP र म्यानुअल DNS सँगै चल्न सक्छन्?

हो, तपाईं DHCP मार्फत IP प्राप्त गर्न सक्नुहुन्छ भने DNS म्यानुअल रूपमा निर्दिष्ट गर्न सक्नुहुन्छ।

उदाहरण:

dhcp4: true
nameservers:
  addresses: [9.9.9.9]

यो कन्फिगरेसनले “IP = automatic, DNS = manual” सेट गर्दछ।

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

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

सेटिङ्स विन्डो कसरी खोल्ने

  1. माथि दायाँको नेटवर्क आइकनमा क्लिक गर्नुहोस्
  2. “Settings” वा “Network Settings” खोल्नुहोस्
  3. सक्रिय कनेक्शन (Wired / Wi‑Fi) चयन गर्नुहोस्
  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 सर्भर निर्दिष्ट गर्नु redundancy को लागि सिफारिस गरिन्छ।
यदि एउटा उपलब्ध छैन भने, प्रणाली स्वचालित रूपमा अर्को सर्भरलाई सोध्छ।

यदि तपाईं आन्तरिक DNS (जस्तै कम्पनीको AD) प्रयोग गर्नुहुन्छ भने, सार्वजनिक DNS को सट्टा आन्तरिक DNS सर्भर निर्दिष्ट गर्नुपर्छ।
आन्तरिक नाम समाधान प्रायः बाह्य DNS प्रदर्शनभन्दा प्राथमिकता पाउँछ।

7. DNS प्रायः नेटवर्कको बोतलनेक बनिन्छ

DNS सानो कन्फिगरेसन वस्तु जस्तो देखिए पनि, यसले नेटवर्कको अनुभूति हुने प्रदर्शनमा ठूलो प्रभाव पार्छ।
DNS समस्याहरू विशेष गरी तलका परिदृश्यहरूमा स्पष्ट देखिन्छ:

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

यी अवस्थाहरू प्रायः यसरी व्यवहार गर्छन्: “एउटै URL धेरै पटक लोड गरेपछि यो छिटो हुन्छ, तर पहिलो पहुँच अस्वाभाविक रूपमा ढिलो हुन्छ।”
यो DNS प्रारम्भिक प्रवेश बिन्दु भएकोले हुन्छ।

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

DNS नेटवर्क लेटेन्सी को लागि अत्यधिक संवेदनशील बिन्दु हो।
OS को सन्दर्भमा, 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 ले केवल प्रारम्भिक नाम लुकअपलाई प्रभावित गर्छ।
यो प्रायः पहिलो लोडलाई छिटो बनाउँछ, तर अन्यत्र ढिलो इमेजहरू/CDN/API ले ढिलो प्रदर्शन निम्त्याउन सक्छ।

Q5: के यी चरणहरू WSL2 मा Ubuntu मा लागू हुन्छन्?
→ ठ्याक्कै होइन।
WSL2 ले resolv.conf लाई स्वचालित रूपमा पुन: उत्पन्न गर्छ, जसका लागि थप सेटिङहरू आवश्यक पर्छन् जस्तै:
generateResolvConf=false
WSL को आफ्नै DNS कन्फिगरेसन विधिहरू छन्।

侍エンジニア塾