Ubuntu सर्वर 18.04 पर एक स्थिर आईपी सेटअप करने के लिए कैसे


29

मैंने कुछ लोगों को स्टैटिक आईपी सेट करने के लिए फाइल कहते देखा है /etc/network/interfaces

और मैंने अन्य लोगों को यह कहते हुए देखा है कि 18.04 में अब यह हो गया है /etc/netplan(जो लोग दुखी लग रहे हैं)

मैंने इसे डालने की कोशिश की है:

version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.9/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

मेरे /etc/netplan/50-cloud-init.yamlऔर करने में, sudo netplan applyलेकिन वह सिर्फ इंटरनेट से सर्वर कनेक्शन को मारता है।


यह एक डेस्कटॉप या एक सर्वर है?
user68186

क्या यह एक अन्य संस्करण से एक ताज़ा 18.04 स्थापित या अपग्रेड है?
विनयुनुच्स

क्षमा करें, मुझे यह पाठ में कहना चाहिए, इसकी 18.04 सर्वर की एक ताजा स्थापना।
फाइनल 20

मेरे लिए सबसे सरल समाधान था, स्थैतिक IPv4 पते को संस्थापन के दौरान (सबनेट, गेटवे आदि के साथ) निर्दिष्ट करना । बस कुछ विज़ार्ड फ़ील्ड भरें, कॉन्फ़िगरेशन फ़ाइलों के साथ कोई गड़बड़ नहीं है।
उवे कीम

आप इसे राउटर पर भी कर सकते हैं। राउटर कॉन्फ़िगरेशन में चरण स्वयं-व्याख्यात्मक होते हैं।
EODCraft कर्मचारी

जवाबों:


13

यह Ubuntu-Server 18.04 में एक स्थिर IP निर्देश सेट किया गया है

$ sudo nano /etc/netplan/50-cloud-init.yaml

फिर अपने कॉन्फ़िगरेशन को बदलें, उदाहरण के लिए, निम्न पंक्तियाँ:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens160:
     dhcp4: no
     addresses: [192.168.1.137/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]

परिवर्तन लागू करें:

$ sudo netplan apply

मामले में आप कुछ मुद्दों को चलाने में:

$ sudo netplan --debug apply

[ नोट ]:

  • /24 के बराबर है 255.255.255.0
  • ens160 आपका ईथरनेट नाम है, आप इसका उपयोग कर सकते हैं $ ifconfig
  • Ubuntu 16.04 और 14.04 नेटवर्क-इंटरफ़ेस कॉन्फ़िगरेशन में एक अलग विधि है।
  • फ़ाइल YAML प्रारूप में है : रिक्त स्थान का उपयोग करें, कोई टैब नहीं।

स्थिर IP पता असाइन करने के बाद पिंग करने में सक्षम नहीं है
user2763554

ठीक है .... मैं करने के बाद पिंग करने में सक्षम हूंservice networking restart
user2763554

1
मैं ऐसा नहीं करूंगा क्योंकि उस फाइल को CloudInit
Ludovic Kuty

13

/etc/netplan/50-cloud-init.yamlCloudInit का उपयोग करने और उस फ़ाइल को उत्पन्न करने के बाद से आपको सीधे संपादित करने के लिए कह रहे सभी उत्तर गलत हैं। Ubuntu 18.04.2 में यह स्पष्ट रूप से फ़ाइल के अंदर लिखा गया है:

$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eno1:
            dhcp4: true
    version: 2

इसलिए आपको उस फ़ाइल को संपादित नहीं करना चाहिए, लेकिन /etc/cloud/cloud.cfg.d/यदि आप अभी भी CloudInit का उपयोग करना चाहते हैं, तो उसके तहत ।

दूसरा तरीका यह है कि खाली फ़ाइल बनाकर पहले CloudInit को पूरी तरह से अक्षम कर दें /etc/cloud/cloud-init.disabled(देखें https://cloudinit.readthedocs.io/en/latest/topics/boot.html ) और फिर अन्य उत्तर ठीक हैं। उबंटू 18.04.2 के तहत मुझे dpkg-reconfigure cloud-initइसे फ़ाइल को ध्यान में रखने के लिए उपयोग करना था /etc/cloud/cloud-init.disabled। मुझे लगता है कि यह थोड़ा अजीब है।

मेरा सुझाव है कि आप फ़ाइल का नाम बदलें (सही नाम नहीं है क्योंकि 50-cloud-init.yamlहमें लगता है कि यह अभी भी CloudInit का उपयोग करता है)।

फिर आप एक फ़ाइल नाम के साथ समाप्त हो सकते हैं /etc/netplan/01-netcfg.yamlजिसमें नीचे कॉन्फ़िगरेशन है। networkdरेंडरर के उपयोग पर ध्यान दें NetworkManagerक्योंकि कॉन्फ़िगरेशन एक सर्वर पर है।

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      addresses: [192.168.1.246/24]
      gateway4: 192.168.1.1
      nameservers:
         addresses: [192.168.1.1]

2
यह बहुत अच्छा काम करता है। यह सबसे अच्छा जवाब होना चाहिए। 50-क्लाउड-init.yaml जैसा कि कहा गया है कि संशोधित नहीं किया जाना चाहिए।
Relic

2
यदि अभी भी CloudInit का उपयोग कर रहे हैं, तो आपको sudo cloud-init clean -rवीपर के उत्तर के अनुसार (कम से कम उबंटू सर्वर 18.04.3 पर) लेने के लिए, परिवर्तन करने के लिए एक करने की आवश्यकता है ।
स्टुअर्ट रॉसिटर

1
... प्लस rendererलाइन अब मान्य नहीं है जो ऐसा लगता है (और आपके द्वारा संपादित फ़ाइल के आधार संस्करण में गायब है)।
स्टुअर्ट रॉसिटर

6

उबंटू 18.04 नेटवर्क इंटरफेस को कॉन्फ़िगर करने के लिए अब नेटप्लान का उपयोग करता है, इसलिए फ़ाइल में कॉन्फ़िगरेशन होना चाहिए /etc/netplan/50-cloud-init.yaml, दस्तावेज़ीकरण पुरानी फ़ाइल के साथ अब और गड़बड़ न करने की सलाह देता है /etc/network/interfaces। मैंने अपने उबंटू सर्वर वर्चुअल मशीन के साथ इस कॉन्फ़िगरेशन का उपयोग किया है और यह अभी तक काम करता है, बस सुनिश्चित करें कि जानकारी सही है; optional: trueसेटिंग माना जाता है कि की पुष्टि नहीं करता है, तो इंटरफ़ेस जुड़ा हुआ है या नहीं, यह डिफ़ॉल्ट है द्वारा बूटिंग समय को गति, यह भी वहाँ उदाहरण के लिए डीएचसीपी, यदि वे अनुपस्थित रहे हैं वे विकलांग के रूप में, लिया जाता है यह भी घोषणा मूल्यों की कोई जरूरत का प्रयोग नहीं किया है, Ubuntu सर्वर में डिफ़ॉल्ट रेंडरर है, networkdइसलिए इसे घोषित करने की कोई आवश्यकता नहीं है। अपने पोस्ट से जानकारी लेते हुए, यह इस तरह होना चाहिए:

network:
    ethernets:
        eht0:
            addresses:
            - 192.168.1.9/24
            gateway4: 192.168.1.1
            nameservers:
                addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]
            optional: true
    version: 2

एक बार जब आप फ़ाइल को सहेजते हैं, sudo netplan --debug applyतो debugध्वज को चलाएं और अधिक जानकारी का उत्पादन करेगा और किसी भी त्रुटि का पता लगाने में मदद कर सकता है। यदि वर्चुअल वीएम कॉन्फ़िगरेशन की समीक्षा करें तो ईथरनेट केबल की जांच करें। अगर एक WLAN का उपयोग करते हुए मैंने पढ़ा है कि यह सेटअप करने के लिए थोड़ा अधिक मुश्किल है, लेकिन मैंने अभी तक इस सर्वर संस्करण के साथ वाईफाई से जुड़ी मशीन स्थापित नहीं की है।

यदि आप नेटप्लान के बारे में अधिक जानकारी चाहते हैं तो एक वेबसाइट है, इसके कुछ बुनियादी विन्यास उदाहरण हैं।

https://netplan.io/


5

कॉन्फ़िगरेशन फ़ाइल YAML प्रारूप में है : फ़ाइल को कॉन्फ़िगर करते समय TAB का उपयोग न करें । यह केवल अंतरिक्ष के साथ काम करता है ।

यह मेरा मुद्दा था।


4

मैंने क्लाउड-इनिट का उपयोग करके एक और तरीका पाया है।

  1. फ़ाइल को संपादित करें /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg- सामग्री वैसी ही प्रतीत होती है जैसी वे / etc / netplan में होती है।
  2. cloud-initइस आदेश के साथ स्वच्छ, रिबूट और पुनः आरंभ करें:

    sudo cloud-init clean -r
    
  3. बस! आपका सिस्टम रीबूट होगा, cloud-initफिर से इनिशियलाइज़ करेगा और इसमें बदलाव को पिक करेगा और /etc/cloud/cloud.cfg.d/50-curtin-networking.cfgउन्हें लागू करेगा /etc/netplan/50-cloud-init.yamlऔर सब ठीक हो जाएगा। के साथ सत्यापित करें ifconfig


0

यह वह सेटिंग है जो इसे काम करती है।

$sudo nano /etc/netplan/50-cloud-init.yaml

network:
   ethernets:
     eth0:          
     addresses:
     - 192.168.1.9/24
     dhcp: false
     gateway4: 192.168.1.1
     nameservers:
        addresses:
        - 192.168.1.1
        - 8.8.8.8
        - 8.8.4.4
        search: []
  version: 2  

$sudo netplan apply

सर्वर को पुनरारंभ करें

eth0 को अपने एडॉप्टर में बदलें, ifconfig का उपयोग करके अपने एडॉप्टर का पता लगाएं।


0

उपलब्ध ईथरनेट इंटरफेस का उपयोग करने के लिए ip link show

फिर 50-क्लाउड-इनिट.यैम फ़ाइल का उपयोग करके संपादित करें $sudo nano /etc/netplan/50-cloud-init.yaml

उपलब्ध इंटरफेस जैसे eth0: और eth1 के लिए कॉन्फ़िगरेशन जोड़ें:

network:
   ethernets:
     eth0:          
     addresses:
     - 192.168.1.9/24
     dhcp: false
     gateway4: 192.168.1.1
     nameservers:
        addresses:
        - 192.168.1.1
        - 8.8.8.8
        - 8.8.4.4
        search: []
     eth0:
     addresses:
     - 192.168.1.9/24
     dhcp: false
  version: 2  

फिर $sudo netplan applyपरिवर्तनों को लागू करने के लिए कमांड का उपयोग करें ।


0

Ubuntu सर्वर 18.04 पर एक स्थिर आईपी सेटअप करने के लिए कैसे

फिर 50-क्लाउड-इनिट.यैम फ़ाइल का उपयोग करके संपादित करें$sudo vim /etc/netplan/50-cloud-init.yaml


network:
  ethernets:
    eno1:
        addresses:
        - 10.0.1.10/24
        dhcp4: false
        gateway4: 10.0.1.1
        nameservers:
            addresses:
            - 10.0.1.2
            search: []
version: 2

परिवर्तन लागू करें:

$ sudo netplan apply


मैं ऐसा नहीं करूंगा क्योंकि वह फ़ाइल CloudInit द्वारा बनाई गई है।
लुडोविक क्यूट

क्यों ओह, 18.04 को एक स्टेटिक आईपी सेट करने के लिए हर गाइड मुझे एक यमल फ़ाइल को संपादित करने के लिए क्यों कह रहा है, जो कहता है कि यह एक गतिशील रूप से बनाई गई फ़ाइल है जो बनी नहीं रहेगी? उबंटू डेवलपर्स से एक और क्रूर मजाक जो लगता है कि डिफ़ॉल्ट रूप से चीजों को तोड़ना ठीक है ...
Bigtexun

0

18.04 में नेटवर्क कॉन्फ़िगरेशन को नेटप्लान के माध्यम से प्रबंधित किया जाता है और क्लाउड-इनिट के साथ कॉन्फ़िगर किया जाता है। अपने नेटवर्क कॉन्फ़िगरेशन को बदलने के लिए 50-curtin-networking.cfgफ़ाइल को संपादित करें /etc/cloud/cloud.cfg.d/। यदि यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं।

अपना इंटरफ़ेस नाम खोजें

ip address show

क्लाउड-इनिट नेटवर्क कॉन्फ़िगरेशन फ़ाइल को संपादित / बनाएं

sudo nano /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg

एक स्थिर IP पता सेट करने के लिए, पतों की का उपयोग करें, जो (IPv4 या IPv6) की एक सूची लेता है, सबनेट प्रीफ़िक्स की लंबाई (जैसे / 24) के साथ पते। गेटवे और DNS जानकारी भी प्रदान की जा सकती है:

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.168.1.9/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

आप https://netplan.io/examples पर अधिक कॉन्फ़िगरेशन विकल्प पा सकते हैं

क्लाउड-इनिट कॉन्फ़िगरेशन पुनः लोड करें। यह आपके सर्वर को रीबूट करेगा।

sudo cloud-init clean -r
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.