systemd-networkd - रिबूट के बिना नए कॉन्फ़िगरेशन को मजबूर करने के लिए कैसे?


12

मेरे आर्च बॉक्स पर, मेरा एक नेटवर्क ब्रिज था। लक्ष्य पुल को हटाने और केवल नेटवर्क एडेप्टर का उपयोग न करने के लिए था। ऐसा करने के लिए, मैंने सभी * .netdev और * .network कॉन्फ़िगरेशन फ़ाइलों को /etc/systemd/networkहटा दिया और उन्हें एक साधारण फ़ाइल के साथ बदल दिया:

/etc/systemd/network/lan.network
--------------------------------
[Match]
eno*

[Network]
DHCP=ipv4

मैंने इसके बाद नेटवर्क सेवा को फिर से शुरू किया systemctl restart systemd-networkd, यह मानते हुए कि यह मुझे loऔर eno*इंटरफ़ेस के साथ छोड़ देगा । दुर्भाग्य से, हालांकि, इसका कोई प्रभाव नहीं पड़ा। एक त्वरित नज़र ip linkअभी भी पुल इंटरफ़ेस को ऊपर और सक्रिय दिखाया।

क्योंकि इस विशेष मामले में अपटाइम महत्वपूर्ण नहीं है, मैंने सिर्फ उस मशीन को रिबूट किया जिसने समस्या को हल किया। फिर भी, मैं यह सोचना चाहूंगा कि इस तरह की चीजों के लिए रिबूट आवश्यक नहीं होना चाहिए। मुझे क्या करने की याद आती है?


v244 है networkctl reloadऔर reconfigure @ github.com / systemd
frostschutz

जवाबों:


9

यदि आपका ब्रिज मास्टर इंटरफेस अभी भी बना हुआ है, तो इसके बंधे हुए स्लेव इंटरफेस भी बाध्य रहेंगे, भले ही इस बीच उनके लिए नए कॉन्फ़िगरेशन की खोज की जाए। तो बस पुल खो देते हैं।

ip link set down br0
ip link del dev br0
systemctl restart systemd-networkd

1
क्या मैं इस प्रक्रिया में नेटवर्क का उपयोग नहीं करूँगा?
vic

@vic - यदि आपके नेटवर्क का उपयोग एक पुल के माध्यम से किया जाता है जिसमें आपने अपने निक को बाध्य किया है, तो हाँ, मुझे उम्मीद है। मैं अन्यथा करने के लिए एक सरल तरीके के बारे में नहीं सोच सकता हूं, और जिन जटिल तरीकों के बारे में मैं सोच सकता हूं वे केवल आधे-बेक्ड हैं और इसमें देव पर सभी पैकेटों के अस्थायी होल्ड-ओवर वर्चुअल नैक्स और इन-कर्नेल नेटफिल्टर डंपिंग शामिल हैं। बदसूरत और मूर्ख। या तो वह या समय-यात्रा। शायद एक और तरीका है, लेकिन आप इसे मुझे नहीं सीखेंगे। वैसे भी, नेटवर्क केवल पहली कमांड के बाद खो गया है और तीसरे के बाद बहाल किया गया है। शायद रिबूट की तुलना में कम dt।

1
@ मुझे पता है कि मुझे पार्टी में देर हो रही है, लेकिन एक तरह से एक ही लाइन में एक साथ कमांड को चेन कर सकते हैं, जैसे कि ip link set down br0 && ip link del dev br0 && systemctl restart systemd-networkd। आपका कनेक्शन कम से कम क्षण भर में गिर सकता है, लेकिन होस्ट की नेटवर्किंग सेवा ऑनलाइन वापस होनी चाहिए और जब तक आप आईपी पते को पुनः आरंभ करने के बाद पता करेंगे तब तक आप हमेशा एक नया एसएसएच सत्र बना सकते हैं।
code_dredd

1
अर्धविराम का उपयोग करें, &&इन आदेशों की श्रृंखला के लिए नहीं । यदि कोई विफल रहता है, तो यह अभी भी नेटवर्क कनेक्शन को उपयोग करने योग्य तरीके से पुन: कॉन्फ़िगर कर सकता है ताकि आपको उठकर सर्वर पर न
आना पड़े
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.