05. Ubuntu Server के लिए नेटवर्किंग की मूल बातें: एक व्यापक मार्गदर्शिका

नेटवर्किंग सर्वर प्रशासन का एक मूलभूत पहलू है, विशेष रूप से Ubuntu Server के साथ काम करते समय। चाहे आप क्लाउड वातावरण में सर्वर सेट अप कर रहे हों या ऑन-प्रेमाइसेस इंफ्रास्ट्रक्चर प्रबंधित कर रहे हों, नेटवर्क इंटरफ़ेस कॉन्फ़िगर करना, स्थिर IP पते असाइन करना, नेटवर्किंग सेवाएँ प्रबंधित करना और कनेक्टिविटी समस्याओं का निवारण करना समझना महत्वपूर्ण है। इस मार्गदर्शिका में, हम Ubuntu Server पर नेटवर्किंग की आवश्यक बातों को कवर करेंगे, जिसमें निम्न का उपयोग शामिल है Netplan (Ubuntu 22.04 में डिफ़ॉल्ट नेटवर्क कॉन्फ़िगरेशन उपकरण), cloud-init-जनरेटेड कॉन्फ़िगरेशन को संभालना, नेटवर्किंग सेवाओं का प्रबंधन करना और सामान्य समस्याओं का निवारण करना।


पिछला लेख:

01. Ubuntu Server का परिचय – SysOSX: AI & Cloud

02. अपना पहला Ubuntu Server कैसे सेट अप करें: शुरुआती मार्गदर्शिका – SysOSX: AI & Cloud

03. Ubuntu Server के लिए Linux कमांड लाइन में महारत – SysOSX: AI & Cloud

04. Ubuntu Server पर उपयोगकर्ता और अनुमतियाँ प्रबंधित करना: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud



1. Ubuntu Server पर नेटवर्किंग का परिचय

Ubuntu Server उपयोग करता है Netplan को Ubuntu 17.10 से अपने डिफ़ॉल्ट नेटवर्क कॉन्फ़िगरेशन उपकरण के रूप में उपयोग करता है। Netplan YAML फ़ाइलों का उपयोग करके नेटवर्क कॉन्फ़िगरेशन परिभाषित करने की प्रक्रिया को सरल बनाता है। Ubuntu Server 22.04 में, systemd-networkd नेटवर्किंग प्रबंधन के लिए डिफ़ॉल्ट बैकएंड सेवा है, जबकि NetworkManager आमतौर पर डेस्कटॉप वातावरण या उन्नत नेटवर्क प्रबंधन की आवश्यकता वाली विशिष्ट सर्वर कॉन्फ़िगरेशन में उपयोग किया जाता है।

डिफ़ॉल्ट नेटवर्किंग बैकएंड

  • Ubuntu Server 22.04: उपयोग करता है systemd-networkd डिफ़ॉल्ट नेटवर्किंग सेवा के रूप में।
  • Ubuntu Desktop 22.04: उपयोग करता है NetworkManager डिफ़ॉल्ट नेटवर्किंग सेवा के रूप में।

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


2. Netplan के साथ नेटवर्क इंटरफ़ेस कॉन्फ़िगर करना (Cloud-Init अपडेट)

क्लाउड वातावरण में, Netplan कॉन्फ़िगरेशन फ़ाइल का नाम अक्सर होता है /etc/netplan/50-cloud-init.yaml। यह फ़ाइल द्वारा उत्पन्न की जाती है cloud-init, और इसमें किए गए परिवर्तन इंस्टेंस रीबूट के बाद बने नहीं रहेंगे, जब तक कि cloud-init की नेटवर्क कॉन्फ़िगरेशन क्षमताएँ अक्षम न कर दी जाएँ।

Cloud-Init नेटवर्क कॉन्फ़िगरेशन अक्षम करना

cloud-init की नेटवर्क कॉन्फ़िगरेशन क्षमताओं को अक्षम करने के लिए, यहाँ एक फ़ाइल बनाएँ /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg:

sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

निम्नलिखित सामग्री जोड़ें:

network: {config: disabled}

cloud-init के नेटवर्क कॉन्फ़िगरेशन को अक्षम करने के बाद, आप स्थायी Netplan कॉन्फ़िगरेशन फ़ाइलें मैन्युअल रूप से बना और प्रबंधित कर सकते हैं।


उदाहरण: Netplan के साथ स्थिर IP पता कॉन्फ़िगर करना

यदि आपकी Netplan कॉन्फ़िगरेशन फ़ाइल है /etc/netplan/50-cloud-init.yaml, तो आप इसे सीधे संशोधित कर सकते हैं या नई कॉन्फ़िगरेशन फ़ाइल बना सकते हैं (जैसे, /etc/netplan/01-netcfg.yaml) स्थायी सेटिंग्स के लिए।

  • Netplan कॉन्फ़िगरेशन फ़ाइल खोलें:
sudo nano /etc/netplan/50-cloud-init.yaml
  • स्थिर IP पता सेट करने के लिए सामग्री संशोधित करें:
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
  • eth0: इसे अपने नेटवर्क इंटरफ़ेस के नाम से बदलें (उपयोग करें ip a इंटरफ़ेस सूचीबद्ध करने के लिए)।
  • addresses: स्थिर IP पता असाइन करता है।
  • routes:
    • to: default: डिफ़ॉल्ट मार्ग निर्दिष्ट करता है।
    • via: 192.168.1.1: गेटवे पता परिभाषित करता है।
  • nameservers: DNS सर्वर निर्दिष्ट करता है।
  • कॉन्फ़िगरेशन लागू करें:
sudo netplan apply
  • कॉन्फ़िगरेशन सत्यापित करें:
ip a

3. स्थिर IP पता सेट अप करना

हालाँकि Netplan अनुशंसित उपकरण है, आप स्थिर IP पता मैन्युअल रूप से भी कॉन्फ़िगर कर सकते हैं /etc/network/interfaces में (पुराने Ubuntu संस्करणों में उपयोग किया जाता है) या कमांड-लाइन उपकरणों के माध्यम से।

ip कमांड का उपयोग

ip कमांड नेटवर्क इंटरफ़ेस प्रबंधित करने के लिए एक बहुमुखी उपकरण है। नीचे स्थिर IP पता अस्थायी रूप से असाइन करने का एक उदाहरण दिया गया है:

sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1
  • ip addr add: नेटवर्क इंटरफ़ेस को IP पता असाइन करता है।
  • ip route add: डिफ़ॉल्ट गेटवे सेट करता है।

नोट: ये परिवर्तन अस्थायी हैं और रीबूट के बाद खो जाएँगे। स्थायी कॉन्फ़िगरेशन के लिए Netplan का उपयोग करें।


4. नेटवर्किंग सेवाओं का प्रबंधन

Ubuntu उपयोग करता है systemd-networkd को सर्वर वातावरण के लिए डिफ़ॉल्ट नेटवर्किंग सेवा के रूप में। इस सेवा का प्रभावी प्रबंधन स्थिर नेटवर्क कनेक्टिविटी सुनिश्चित करने के लिए महत्वपूर्ण है।

नेटवर्किंग सेवाओं की स्थिति जाँचना

नेटवर्किंग सेवा की स्थिति जाँचने के लिए, निम्नलिखित कमांड का उपयोग करें:

sudo systemctl status systemd-networkd

यह वर्तमान स्थिति और systemd-networkd सेवा से संबंधित किसी भी त्रुटि को प्रदर्शित करेगा।

नेटवर्किंग सेवा पुनरारंभ करना

यदि अपना कॉन्फ़िगरेशन बदलने के बाद आपको नेटवर्किंग सेवा पुनरारंभ करने की आवश्यकता है:

sudo systemctl restart systemd-networkd

नेटवर्किंग सेवा सक्षम या अक्षम करना

नेटवर्किंग सेवा को बूट पर स्वचालित रूप से शुरू करने के लिए सक्षम करें:

sudo systemctl enable systemd-networkd

नेटवर्किंग सेवा अक्षम करने के लिए:

sudo systemctl disable systemd-networkd

NetworkManager का उपयोग (वैकल्पिक)

यदि आप NetworkManager का उपयोग systemd-networkd के बजाय कर रहे हैं, तो आप सेवा को इस प्रकार प्रबंधित कर सकते हैं:

  • स्थिति जाँचें:
sudo systemctl status NetworkManager
  • सेवा पुनरारंभ करें:
sudo systemctl restart NetworkManager
  • NetworkManager सक्षम या अक्षम करें:
sudo systemctl enable NetworkManager 
sudo systemctl disable NetworkManager

5. Netplan में ज्ञात समस्याएँ और चेतावनियाँ

Netplan का उपयोग करके Ubuntu 22.04 सर्वर पर स्थिर IP कॉन्फ़िगर करते समय, आपको निम्नलिखित चेतावनियाँ मिल सकती हैं:

चेतावनी: Cannot call Open vSwitch: ovsdb-server.service is not running

यह चेतावनी इसलिए आती है क्योंकि Netplan Open vSwitch का पता लगाने का प्रयास करता है, जो क्लाउड और वर्चुअलाइज़्ड वातावरण में अक्सर उपयोग किया जाने वाला वर्चुअल नेटवर्किंग स्विच है। यदि Open vSwitch इंस्टॉल नहीं है, तो Netplan चेतावनी उत्पन्न करता है।

चेतावनी हल करना

यदि आप Open vSwitch का उपयोग नहीं करते हैं तो आप इस चेतावनी को सुरक्षित रूप से अनदेखा कर सकते हैं। हालाँकि, इसे समाप्त करने के लिए, आप openvswitch-switch-dpdk पैकेज इंस्टॉल कर सकते हैं, जो Open vSwitch के लिए आवश्यक घटक प्रदान करता है।

निम्नलिखित कमांड चलाएँ:

sudo apt install openvswitch-switch-dpdk

इंस्टॉल होने के बाद, Netplan Open vSwitch की उपस्थिति का पता लगाएगा और चेतावनी उत्पन्न करना बंद कर देगा।

ज्ञात बग संदर्भ

इस समस्या को आधिकारिक तौर पर Netplan में बग के रूप में रिपोर्ट किया गया है।
https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2041727


6. नेटवर्क प्रबंधन के लिए कमांड-लाइन उपकरण

Ubuntu नेटवर्क कॉन्फ़िगरेशन प्रबंधित करने और उनका निवारण करने के लिए विभिन्न उपकरण प्रदान करता है। यहाँ सबसे अधिक उपयोग किए जाने वाले कुछ उपकरण दिए गए हैं:

6.1 ip कमांड

ip कमांड पुराने ifconfig उपकरण की जगह लेता है और अधिक शक्तिशाली और लचीला है।

  • नेटवर्क इंटरफ़ेस देखें: ip a
  • मार्ग जाँचें: ip route
  • इंटरफ़ेस ऊपर/नीचे लाएँ:
sudo ip link set eth0 up 
sudo ip link set eth0 down

6.2 ping कमांड

ping कमांड का उपयोग किसी अन्य होस्ट से कनेक्टिविटी का परीक्षण करने के लिए किया जाता है।

ping google.com

6.3 traceroute कमांड

traceroute कमांड गंतव्य तक नेटवर्क पथ की पहचान करता है।

sudo apt install traceroute
traceroute google.com

6.4 Curl कमांड

curl कमांड HTTP कनेक्टिविटी का परीक्षण करता है।

curl http://example.com


7. सामान्य नेटवर्क समस्याओं का निवारण

सर्वर वातावरण में नेटवर्किंग समस्याएँ आम हैं। यहाँ कुछ परिदृश्य और समस्या निवारण चरण दिए गए हैं:

परिदृश्य 1: नेटवर्क इंटरफ़ेस काम नहीं कर रहा

  • इंटरफ़ेस की स्थिति जाँचें:
ip a
  • इंटरफ़ेस ऊपर लाएँ:
sudo ip link set eth0 up

    परिदृश्य 2: बाहरी होस्ट को पिंग करने में असमर्थ

    1. डिफ़ॉल्ट गेटवे सत्यापित करें: ip route
    2. DNS रिज़ॉल्यूशन जाँचें: nslookup google.com यदि DNS हल नहीं हो रहा है, तो अपने Netplan कॉन्फ़िगरेशन में नेमसर्वर अपडेट करें।

    परिदृश्य 3: Netplan कॉन्फ़िगरेशन समस्याएँ

    1. Netplan YAML फ़ाइल मान्य करें:sudo netplan try यह कॉन्फ़िगरेशन को स्थायी रूप से लागू किए बिना उसका परीक्षण करता है।
    2. कॉन्फ़िगरेशन पुनः लागू करें:sudo netplan apply

    परिदृश्य 4: नेटवर्किंग सेवा जाँचें

    यदि नेटवर्क कनेक्टिविटी समस्याएँ बनी रहती हैं, तो नेटवर्किंग सेवा की स्थिति जाँचें:

    sudo systemctl status systemd-networkd
    
    

    यदि त्रुटियाँ रिपोर्ट की जाती हैं, तो सेवा पुनरारंभ करें:

    sudo systemctl restart systemd-networkd
    
    

    परिदृश्य 5: फ़ायरवॉल ट्रैफ़िक अवरुद्ध कर रहा है

    • फ़ायरवॉल नियम जाँचें:
    sudo ufw status
    
    • आवश्यक ट्रैफ़िक की अनुमति दें:
    sudo ufw allow 22/tcp sudo ufw allow 80/tcp
    

      परिदृश्य 6: पैकेट हानि या विलंबता समस्याएँ

      • पैकेट हानि की जाँच करने के लिए ping का उपयोग करें:
      ping -c 10 google.com
      
      • नेटवर्क अड़चनों की पहचान करने के लिए traceroute का उपयोग करें:
      traceroute google.com
      

        8. निष्कर्ष

        नेटवर्किंग Ubuntu Server व्यवस्थापकों के लिए एक महत्वपूर्ण कौशल है। इस मार्गदर्शिका में नेटवर्क इंटरफ़ेस कॉन्फ़िगर करना, नेटवर्किंग सेवाओं का प्रबंधन, Netplan चेतावनियों से निपटना, स्थिर IP सेट करना, कमांड-लाइन उपकरणों का उपयोग करना और सामान्य समस्याओं का निवारण करने की मूल बातें शामिल हैं। Netplan जैसे उपकरणों में महारत हासिल करके, ip, और ping, आप अपने सर्वर पर नेटवर्क संबंधी चुनौतियों को कुशलतापूर्वक प्रबंधित और हल कर सकते हैं।

        आगे पढ़ने के लिए, इस पर आधिकारिक Ubuntu दस्तावेज़ देखें Netplan और नेटवर्किंग की मूल बातें.

        अगले चरण: पैचिंग, पैकेज प्रबंधन और सुरक्षा

        इस श्रृंखला के अगले भाग में, हम Ubuntu Server प्रबंधन के महत्वपूर्ण पहलुओं पर गहराई से चर्चा करेंगे, जिस पर ध्यान केंद्रित होगा पैचिंग, पैकेज प्रबंधन और सुरक्षा। ये विषय सुरक्षित, स्थिर और कुशल सर्वर वातावरण बनाए रखने के लिए आवश्यक हैं।

        1. सॉफ़्टवेयर स्थापित करना और प्रबंधित करना

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

        2. Ubuntu Server को पैच करना और अपडेट करना

        • पैचिंग सुरक्षा और स्थिरता के लिए क्यों महत्वपूर्ण है।
        • apt का उपयोग करके सर्वर को अपडेट और अपग्रेड करें।
        • निम्नलिखित के बीच अंतर समझें: apt update, apt upgrade, और apt full-upgrade.
        • अपडेट स्वचालित करना: unattended-upgrades.
        • कर्नेल अपडेट संभालना और सुचारू रीबूट: reboot-required.

        3. अपने Ubuntu Server को सुरक्षित करना

        • अपने सर्वर को सुरक्षित करने के व्यावहारिक चरण, जिसमें फ़ायरवॉल कॉन्फ़िगर करना शामिल है (ufw), SSH को सुरक्षित रूप से सेट अप करना, और fail2ban जैसे उपकरणों का उपयोग करके हमलों से बचाना।
        • कमजोरियों और अनधिकृत पहुँच के विरुद्ध अपने सर्वर को सख्त बनाना सीखें।

        4. Ubuntu Server पर ऑडिट और लॉगिंग

        • सिस्टम ऑडिटिंग का परिचय और लॉग का महत्व।
        • auditd का उपयोग करके सिस्टम ईवेंट को ट्रैक और रिकॉर्ड करें।
        • लॉग रोटेशन कॉन्फ़िगर करना: logrotate.
        • /var/log निर्देशिका की निगरानी करके महत्वपूर्ण घटनाओं पर नज़र रखें ताकि सक्रिय सर्वर प्रबंधन सुनिश्चित हो सके।

        4 thoughts on “05. Networking Basics for Ubuntu Server: A Comprehensive Guide”

        टिप्पणी छोड़ें