अनप्लग्ड नेटवर्क केबल या डाउन सर्वर का अनुकरण कैसे करें?


14

मैंने नेटेम के साथ नेटवर्क लेटेंसी की नकल की है और यह बहुत अच्छा है। अब मैं अनप्लग्ड नेटवर्क केबल या जब सर्वर डाउन हो जाता है, अनुकरण करना चाहता हूं। मुझे अपने आवेदन के परीक्षण को आसान बनाने के लिए इसकी आवश्यकता है और मुझे वेब पर ऐसा कुछ भी नहीं मिला जिससे मुझे मदद मिले। मेरे सर्वर आभासी CentOS उदाहरण हैं और वे Virtualbox पर हैं। मैं इसे php वेब पेज से करना चाहता हूँ।

जवाबों:


17

बस इंटरफ़ेस नीचे लाओ। उदाहरण के लिए, eth0 के साथ:

ip link set eth0 down

इंटरफ़ेस को वापस लाने के लिए:

ip link set eth0 up

धन्यवाद, मैं इसके बारे में यहाँ
SafeY

1
यह सफलतापूर्वक काम कर रहा है, लेकिन ip link set eth0 upकाम नहीं कर रहा है :( और मुझे उन दोनों की आवश्यकता है
SafeY

@ नैन्सीस्मिथ "काम नहीं कर रही है" सार्थक नहीं है। क्या त्रुटि संदेश आते हैं? क्या आपने एक आईपी और नेटमास्क प्रदान किया है?
क्रिस डाउन

मेरा मतलब है कि मैंने ip link set eth0 downphp और पिंग के माध्यम से यह दिखाया कि मेरा सर्वर पहुंच से बाहर है। फिर मैं इसे "ऊपर" प्राप्त करना चाहता था, मैंने ip link set eth0 upपीएचपी और सर्वर के माध्यम से निष्पादित किया ।
तिजोरी

3
@ नैन्सीस्मिथ एक और नेटवर्क इंटरफ़ेस बनाएँ, जिसमें जो कुछ भी इसे कनेक्ट कर रहा है, (मार्गों, आदि का उपयोग करके) तक पहुंच न हो। उस इंटरफ़ेस का उपयोग करके होस्ट को SSH। उस इंटरफ़ेस को नीचे लाएं जिसे आप SSH के माध्यम से कनेक्ट नहीं कर रहे हैं ।
क्रिस डाउन

7

जब आप SSH के माध्यम से कनेक्ट हो रहे मशीन पर शीर्ष मतदान जवाब का उपयोग कर रहे हैं, तो आप नेटवर्क को नीचे लाएंगे और इसे वापस लाने का कोई साधन नहीं होगा। निम्नलिखित इसे नीचे लाने और SSH कनेक्शन पर वापस लाने का एक तरीका है।

इंटरफ़ेस का उपयोग करके उदाहरण ens32:

यदि आप चलाते हैं:

ip link set ens32 down

और आप SSH से जुड़ रहे हैं, आप अपने नेटवर्क को अक्षम करने के बाद इसे फिर से लाने में असमर्थ होंगे और इसलिए अपने सर्वर पर SSH नहीं कर सकते।

मैं 20 सेकंड के डाउनटाइम का अनुकरण करने के लिए निम्न स्क्रिप्ट का उपयोग करता हूं:

#!/bin/sh
ip link set ens32 down
sleep 20
ip link set ens32 up

इसे डाउनटाइम के रूप में सहेजें। सुनिश्चित करें कि फ़ाइल ने अधिकारों को निष्पादित किया है, और फिर चलाएं:

sudo ./downtime.sh

1
अच्छी चीज़। इसके अलावा, उन लोगों के लिए प्रासंगिक लिंक जो नीचे दिए गए इंटरफ़ेस के बारे में निश्चित नहीं हैं: unix.stackexchange.com/questions/125400/…
Jeutnarg

1
erm ... मैं एक Linux नौसिखिया हूँ, लेकिन मुझे लगता है कि यहाँ कुछ बुरी सलाह हो सकती है: यदि आप इस स्क्रिप्ट को nohup नहीं करते हैं, तो क्या होता है कि आप इसे निष्पादित करते हैं, आप सत्र समाप्त हो जाते हैं (वियोग के कारण) और स्क्रिप्ट रुक जाती है () और शुद्ध इंटरफ़ेस को पुनर्जीवित नहीं करता है)। मुझे लगता है कि नोह के आसपास कुछ पढ़ना मूल्यवान होना चाहिए!
ड्रेक्सडोमैक्स

@DraxDomax जो आप कहते हैं वह तर्कसंगत लगता है, लेकिन मुझे इसमें कोई समस्या नहीं है, क्योंकि यह वापस नहीं आ रहा है। जबकि मेरे पास स्वीकृत उत्तर के साथ मुद्दे हैं।
मजाक

@ माफ करना, मैं अपनी टिप्पणी संपादित नहीं कर सका। यह जरूरी नहीं कि "बुरी सलाह" हो। यह वास्तव में एक अच्छा प्रो-एक्टिव उत्तर है क्योंकि 90% लोग जो इस प्रश्न को पाएंगे, वे एक ही काम करने की कोशिश कर रहे हैं: "मुझे यह जांचने की ज़रूरत है कि क्या मेरा सॉफ्टवेयर मशीन डिस्कनेक्शन के बाद काम करता है। मेरे पास वर्चुअलाइजेशन होस्ट तक पहुंच नहीं है" । दरअसल, मैंने आपकी स्क्रिप्ट का सहारा लिया (बस मेरा एडॉप्टर br0 था) - यह मेरे मामले में काम नहीं करता था (MacOS से CentOS में SSH) और मुझे नेट को फिर से लाने के लिए हमारे आईटी आदमी को बुलाना पड़ा।
ड्रेक्सडोमैक्स

1

अपने वर्चुअलबॉक्स कंसोल विंडो पर, आपको मशीन मेनू पुल डाउन होना चाहिए। उस एक के तहत कई कार्य होते हैं। जिनमें से एक है पावर ऑफ। आपको तत्काल पावर डाउन के लिए उस एक का चयन करने की आवश्यकता है। यह एक भौतिक सर्वर के पावर कॉर्ड को बराबर करने के लिए निकटतम चीज है।


मैं एक वेब पेज से ऐसा करना चाहता हूं। वास्तव में मुझे पता है कि मशीनों को कैसे बंद करना है।
सेफी

और मैं इसे नकली नहीं करना चाहता। वास्तव में बंद न करें और इसे फिर से बूट करें।
सेफी

के उल्लेख से देखते हुए netem, मुझे लगता है कि सवाल वास्तव में एक सर्वर से नेटवर्क केबल को अनप्लग करने के बारे में है, न कि पावर केबल (हालांकि यह स्पष्ट नहीं है)।
क्रिस डाउन

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