सिस्टम रिबूट किए बिना नेटवर्क इंटरफेस का संपादन


23

मैं अपनी /etc/network/interfacesफ़ाइल को संपादित करके अपने नेटवर्किंग कॉन्फ़िगरेशन में कुछ बदलाव करना चाहता हूँ । रिबूट होने के बिना, इस फ़ाइल में परिवर्तन करने और उन्हें प्रभावी बनाने का सबसे साफ तरीका क्या है? आमतौर पर, मैं कर रहा हूँ:

  1. फ़ाइल को संपादित करें
  2. service networking restart

लेकिन मुझे आभास है कि इस प्रकार के बदलाव करने का यह "सही" तरीका नहीं है।


सेवा नेटवर्किंग लगभग पुनः आरंभ करें = /etc/init.d/networking पुनरारंभ करें।
शांतनु

जवाबों:


11

नेटवर्क इंटरफ़ेस का उपयोग करके शट डाउन करें

sudo ifdown eth0

( eth0उस इंटरफ़ेस से बदलें जिसे आप बदलना चाहते हैं) और इसे फिर से उपयोग करके लाएं

sudo ifup eth0

4
यह मेरे लिए काम नहीं किया। यह सिर्फ मुझे एक त्रुटि "eth0 कॉन्फ़िगर नहीं" दिया। 12.04 को प्रभावी होने के लिए मुझे सिस्टम को रिबूट करना पड़ा।
JohnMerlino

4

उबंटू सर्वर 16.04 में आपको नेटवर्किंग को फिर से शुरू करने से पहले पते को फ्लश करने के लिए आईपी कमांड का उपयोग करना होगा, अन्यथा इंटरफेस फ़ाइल में कोई भी पता परिवर्तन प्रभावी नहीं होगा:

$ sudo ip addr flush interface-name
$ sudo systemctl restart networking

इसका जवाब मुझे इस मददगार लेख से मिला


बिल्कुल सही, यह सवाल का जवाब होना चाहिए।
आकर्षित किया

2

सभी इंटरफेस का उपयोग बंद करो

sudo /etc/init.d/networking stop

अपनी इच्छानुसार अपने इंटरफेस को कॉन्फ़िगर करें (संपादित करें)

उन्हें फिर से शुरू करें

sudo /etc/init.d/networking start

रिबूट करने की कोई आवश्यकता नहीं है।


3
यह या तो Ubuntu 12.04 में काम नहीं किया। केवल रीबूटिंग सिस्टम ने काम किया।
JohnMerlino

0

आपको नहीं लगता कि यह सही तरीका है। सोचें, बूट करने के दौरान उबंटू अतिरिक्त क्या कर सकता है? उबंटू में उन सेवाओं की एक सूची है जिसे बूट करने के दौरान चलाने की आवश्यकता होती है, प्रत्येक सेवा में स्वयं को शुरू करने के लिए लगातार कमांड की एक सूची होती है। उबंटू सिर्फ /etc/init.d/networking स्क्रिप्ट के माध्यम से नेटवर्किंग सेवा चलाता है जिसमें कुछ कमांड होते हैं जिन्हें नेटवर्क सेवा चलाने की आवश्यकता होती है। इसलिए यदि आपके नेटवर्क पर किसी भी परिवर्तन को लागू करने की आवश्यकता है, तो आपको अपनी सेवा को फिर से शुरू करना होगा और जिस तरह से आपकी सेवा के लगातार आदेशों को याद रखना है।


क्योंकि रिबूटिंग को मेरे द्वारा स्थापित किए गए सभी इंटरफेस को खाली करने की गारंटी है, और मुझे चिंता है कि अगर मैं अपने इंटरफेस फाइल से एक इंटरफ़ेस हटाता हूं, तो नेटवर्किंग स्क्रिप्ट को पुनरारंभ करने से छुटकारा नहीं मिलेगा।
लोरिन होचस्टेन

क्या आपको यकीन है? नेटवर्क में कोई भी परिवर्तन मेरे लिए sudo /etc/init.d/networking पुनरारंभ के साथ काम किया गया है।
शांतनु ११'१२

उदाहरण के लिए, अगर मैं एक टैग की गई व्लान (उदाहरण के लिए, eth0.123) बनाता हूं, तो यह संभव नहीं है कि जब मैं नेटवर्किंग को फिर से शुरू करूं तो यह स्वचालित रूप से नष्ट हो जाए
लोरिन होचस्टेन

sudo eth0 down --- sudo eth0 up
shantanu

/etc/init.d/networking सभी नेटवर्क कॉन्फ़िगरेशन फ़ाइल को फिर से पढ़ें और सभी सेटिंग्स को अपडेट करें, इसे बनाए गए इंटरफ़ेस को क्यों नष्ट करना चाहिए? यदि आप अपना आईपी या डीएनएस या इस तरह की जानकारी बदलते हैं तो / etc / ... पर्याप्त है, यदि आप एक वर्चुअल लैन बनाते हैं तो आपको अपने ईथरनेट इंटरफ़ेस (sudo eth0 down फिर sudo eth0 up) को पुनः आरंभ करना होगा।
शांतनु

0

/etc/network/interfaces ifupdown टूल को नियंत्रित करता है।

इसलिए बदलाव करने के बाद, आप केवल उदाहरण के लिए कह सकते हैं sudo ifup eth0


0

वास्तव में इनमें से कोई भी काम नहीं करता है। उबंटू 16.10 पर परीक्षण किया गया। इनका कोई असर नहीं हुआ।

  • ifdown ens3 और ifup ens3
  • सेवा नेटवर्क बंद करो और शुरू करो
  • सेवा नेटवर्क पुनः लोड करें
  • systemctl नेटवर्किंग को बंद करें। सेवा और फिर शुरू करें।

इन सभी के माध्यम से पुराने dhcp आईपी वापस आए और स्टेटिक नहीं। मुझे आश्चर्य है कि क्या यह जानबूझकर है?

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