मैं उबंटू में एक स्थिर आईपी कैसे सेट कर सकता हूं?


56

मैं लिनक्स के साथ एक नया हूं, विंडोज सर्वर / डेस्कटॉप के साथ वर्षों का अनुभव है और एक स्थिर आईपी स्थापित करने में समस्या आ रही है। मैं उबंटू के पिछले संस्करणों के लिए एक विधि का उपयोग कर रहा हूं, जो 16.04 के साथ काम नहीं करता है

मैंने कमांड का उपयोग किया है sudo nano /etc/network/interfaceऔर निम्नलिखित को जोड़ा है

iface enp0s25 inet static
address 10.10.8.2
netmask 255.255.0.0
gateway 10.10.1.1
dns-nameservers 8.8.8.8 8.8.4.4

मैंने सिस्टम को रिबूट किया है और ईथरनेट बहुत अधिक मृत है, पिंग बिल्कुल काम नहीं करता है। मैंने /etc/NetworkManager/NetworkManager.confनिम्नलिखित परिवर्तनों को संशोधित करने और बनाने की कोशिश की है

#dns=dnsmasq (comment out the dnsmasq)
[ifupdown]
managed=true (changed from false)

इसके साथ मैं ईथरनेट को छिटपुट रूप से काम करने के लिए प्राप्त कर सकता हूं, हालांकि यह अंततः विफल हो जाता है।

मैंने इस कॉन्फ़िगरेशन को दो अन्य मशीनों के साथ-साथ एक वर्चुअल मशीन पर भी आज़माया है और सभी के परिणाम समान हैं। जब मैं इनमें से किसी भी मशीन पर विंडोज स्थापित करता हूं, तो मैं इन सेटिंग्स को ठीक काम करने की पुष्टि कर सकता हूं। जब मैं डीएचसीपी ऑटो को कॉन्फ़िगर करने देता हूं, तो सब कुछ ठीक रहता है।

मुझे लगता है कि मैं यहां कुछ याद कर रहा हूं, एक स्थिर आईपी स्थापित करना बिल्कुल भी मुश्किल नहीं होना चाहिए।


केवल एक चीज जो मैंने नोटिस की है और यह सिर्फ यहाँ एक टाइपो हो सकता है, लेकिन मैं इस मुद्दे को हल करने के Dns-nameserversलिए dns-nameserversशायद कुछ भी नहीं करने के लिए बदल
जॉन ओरियन

1
Dns-nameservers स्वीकार्य सिंटेक्स वार है इसलिए यह कोई समस्या नहीं होनी चाहिए। जब यह डीएचसीपी के साथ काम कर रहा था, तो क्या आपने ifconfigइंटरफ़ेस नाम की जांच के लिए रन किया था या क्या आपने मान लिया था कि यह enp0s25 था? क्या आपके पास auto enp0s25अपनी कॉन्फिग फ़ाइल के शीर्ष पर भी है? यदि आप यह संभव नहीं करते हैं कि इंटरफ़ेस केवल बूट पर नहीं आ रहा है।
एंड्रयू

कृपया अपना प्रश्न संपादित करें और अपनी /etc/network/interfacesफ़ाइल की सटीक सामग्री पोस्ट करें । अपने संदेश को संपादित करते समय, इस फ़ाइल के पाठ को हाइलाइट करें, फिर {}संदेश संपादक के शीर्ष पर कोड लिंक पर क्लिक करें ताकि यह सामग्री को पढ़ने के लिए पाठ को ठीक से प्रारूपित कर सके जिससे हमें आसानी हो। साथ ही इस कमांड को निष्पादित करें ip addressऔर {}आउटपुट के लिए (कोड प्रारूप) समान चरण निष्पादित करें ।
एलडी जेम्स

जवाबों:


83

मैं एक ही समस्या थी और यह मेरा समाधान था:

sudo nano /etc/network/interfaces

और पेस्ट (अपने नेटवर्क के लिए बदल) इसके तहत # The primary network interface:

auto enp0s25
iface enp0s25 inet static
address 192.168.0.16
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.4.4 8.8.8.8

आप ifconfig -aubuntu 16.04 या ip address18.04+ पर टर्मिनल कमांड का उपयोग करके सही इंटरफ़ेस नाम प्राप्त कर सकते हैं

अपनी वर्चुअल मशीन को बंद करें और फिर !!! नेटवर्क सेटिंग्स पर जाएं और कुछ समय के लिए रिफ्रेश मैक एड्रेस बटन पर क्लिक करें :)

यहाँ छवि विवरण दर्ज करें

और अपना वीएम शुरू करें और आपको इंटरनेट मिलना चाहिए!

UPDATE 20.02.2019

Ubuntu 18.04+ के लिए आपको इस फ़ाइल को संपादित करना होगा

/etc/netplan/50-cloud-init.yaml

network:
    ethernets:
        enp0s3:
            addresses: [192.168.0.55/24]
            gateway4: 192.168.0.1
            dhcp4: no
            nameservers:
              addresses: [1.1.1.1,8.8.8.8]
            optional: true
    version: 2

2
बहुत धन्यवाद मैं इसकी सराहना करता हूं। यह अब काम करने लगता है, बिना किसी समस्या के। यह अभी बहुत ठोस है!
तीज

dns-nameserversफ़िक्स के अतिरिक्त , मुझे इस फ़िक्स का उपयोग करना था: askubuntu.com/questions/574569/… मेरा आईएसपी है Monkeybrains.net।
बसलिता

56

स्थैतिक IP पते को ऊपर दिए गए उत्तर के रूप में स्वीकार करना यहाँ काम करता है, लेकिन किसी को पुराने IP Addr सेटिंग को फ्लश करना होगा और फिर नेटवर्किंग को फिर से शुरू करना होगा। सेवा:

sudo ip addr flush enp0s25
sudo systemctl restart networking.service

फिर सत्यापित करें कि यह सही है:

ip add

2
इंटरफ़ेस (वर्तमान में) पर मौजूद पुराने पते से बचने के लिए फ्लश आवश्यक था ip addr। सिस्टेक्टल रिस्टार्ट भी बहुत काम करता है, हालाँकि ifdownऔर ifupइंटरफ़ेस पर ज्यादा चुनिंदा तरीके से काम करेगा।
रिचवेल

2
thx @Grant। फ्लश जोड़ने से यह काम हो गया
पवेल मेडज

3
उबंटू में 16.04 और नए फ्लश आवश्यक है!
डिएगो

5

sudo vim /etc/network/interfaces

    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
    address 192.168.1.10
    gateway 192.168.1.1
    netmask 255.255.255.0
    dns-nameservers 8.8.8.8

sudo ifdown eth0 && sudo ifup eth0


9
हाय @ lanni654321, हो सकता है कि आप अपने उत्तर को संपादित करें और कुछ शब्द जोड़ें, संक्षेप में बताएं कि आप क्या कर रहे हैं और क्यों कर रहे हैं? मुझे लगता है कि इससे आपका जवाब और भी मददगार होगा, आपको क्या लगता है?
तुलसीजी मुदाऊ

5
# interfaces(5) file used by ifup(8) and ifdown(8)
# auto lo
# iface lo inet loopback
auto enp2s0 
iface enp2s0 inet static
    address 172.16.9.124
    netmask 255.255.240.0
    gateway 172.16.0.9
dns-nameservers 8.8.8.8

1
ifcace लाइन 5 पर iface होना चाहिए
कालेजहोरस

@twoleggedhorse: उत्तर के लिए टाइपो को ठीक किया, लेकिन मुझे #पहली पंक्ति में कुछ जोड़ना था क्योंकि आपके पास कम से कम 6 परिवर्तित वर्णों के बिना एक संपादन नहीं हो सकता है जो कि
व्हाट्सएप

3

मेरे पास एक ही समस्या थी और समाधान "मेरे लिए" था ... कम से कम।

auto ens160
iface ens160 inet static
address 172.31.0.164/22
netmask 255.255.252.0
gateway 172.31.0.2
network 172.31.0.0
broadcast 172.31.3.255
dns-nameservers 172.31.0.21 172.31.0.18

#Add internal route
up route add -net 172.16.168.0/21 gw 172.31.0.20 dev ens160

और, नेटवर्क इंटरफ़ेस के नाम के साथ एक खाली फ़ाइल बनाएँ:

~$ touch /etc/network/interfaces.d/ens160

यह काम करता हैं...


2

मुझे एक ही समस्या थी और यह मेरा समाधान था: फ़ाइल के अंत में सभी खाली लाइनें निकालें /etc/network/interface


0

मैं अपनी उबंटू मशीनों पर स्थिर आईपी सेट करता था और फिर मैंने देखा कि मैं सिर्फ अपने राउटर का उपयोग करके आईपी पते को असाइन कर सकता हूं। यह सबसे सरल उपाय हो सकता है। बस अपने राउटर में लॉग इन करें, संलग्न उपकरणों को ढूंढें, और वहां आईपी एड्रेस असाइन करें।


0

यदि आपका सर्वर उस पुराने IP के साथ-साथ नए असाइन किए गए IP को दिखा रहा है, तो बस अपने सर्वर को पुनरारंभ करें। यह स्वचालित रूप से पुराने आईपी को फ्लश करेगा और नए को जारी रखेगा।
और यदि आप अपने सर्वर को पुनरारंभ नहीं करना चाहते हैं, तो इस कमांड का उपयोग करें:


sudo ip addr flush <your-interface-here>


0

यह देखने के लिए कि आपके नेटवर्क इंटरफ़ेस (ओं) को मशीन बूट / रीस्टार्ट होने पर सेट करने के लिए सेट किया गया है, यह देखने के लिए साधारण कमांड चलाएँ।

grep "auto" /etc/network/interfaces

यदि कोई पंक्तियाँ मानक आउटपुट पर मुद्रित नहीं होती हैं, तो /etc/network/interfacesएक पाठ संपादक (vi, नैनो, sed) के साथ खोलें और उम्मीद है कि आपको नीचे दी गई छवि के समान कुछ दिखाई देगा।

एक डिफ़ॉल्ट / आदि / नेटवर्क / इंटरफेस फ़ाइल

जाहिर है, अगर grepटर्मिनल विंडो में कोई रेखाएं नहीं लौटती हैं, तो आपके / etc / नेटवर्क / इंटरफेस का प्रारूप बिल्कुल समान नहीं हो सकता है। :-) हालाँकि, ऑटो लाइनों के प्रारूप का पालन करें ।

auto lo
(Loopback configuration follows)
.
.
.

auto enp0s3
(primary interface configuration follows)
.
.
.

====================

अब, अपनी मशीन पर

auto yourInteraceNameHere
(your interface configuration follows)
.
.
.

पता नहीं कौन से इंटरफ़ेस नाम उपलब्ध हैं? यह आदेश चलाएँ।

ifconfig -a

निम्न कमांड नेटवर्क इंटरफेस के नाम वापस कर देगा।

ifconfig -a | grep encap | awk {'print $1'}

यहाँ छवि विवरण दर्ज करें

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