एक प्रॉक्सी के पीछे सुपरमाइक्रो IPMI का उपयोग करना?


12

यह एक X8DT3 मदरबोर्ड के साथ एक सुपरमाइक्रो सर्वर है जिसमें एक ऑन-बोर्ड IPMI BMC है। इस मामले में, BMC एक Winbond WPCM450 है )। मेरा मानना ​​है कि कई डेल सर्वर एक समान बीएमसी मॉडल का उपयोग करते हैं।

आईपीएमआई के साथ एक सामान्य अभ्यास इसे एक निजी, गैर-परिवर्तनीय नेटवर्क में अलग करना है। हमारे मामले में सभी IPMI कार्ड 192.168.1.0/24 पर एक निजी प्रबंधन LAN में प्लग किए जाते हैं, जिसका बाहरी दुनिया के लिए कोई मार्ग नहीं है। अगर मैं अपने लैपटॉप को 192.168.1.0/24 नेटवर्क में प्लग करता हूं, तो मैं यह सत्यापित कर सकता हूं कि सभी IPMI सुविधाएँ रिमोट कंसोल सहित अपेक्षित रूप से काम करती हैं।

मुझे किसी तरह के एन्क्रिप्टेड कनेक्शन पर, एक अलग नेटवर्क से सभी आईपीएमआई सुविधाओं का उपयोग करने की आवश्यकता है।

मैंने SSH पोर्ट फॉरवर्ड करने की कोशिश की। यह कुछ सर्वरों के लिए ठीक काम करता है, हालांकि, हमारे पास इन सर्वरों में से 100 के करीब है और 100 सर्वरों पर 6 बंदरगाहों को अग्रेषित करने के लिए SSH क्लाइंट कॉन्फ़िगरेशन बनाए रखना अव्यावहारिक है।

इसलिए मैंने सोचा कि मैं एक SOCKS प्रॉक्सी की कोशिश करूंगा । यह काम करता है, लेकिन ऐसा लगता है कि रिमोट कंसोल एप्लिकेशन मेरी सिस्टमवाइड प्रॉक्सी सेटिंग्स को नहीं मानता है।

  1. मैं एक SOCKS प्रॉक्सी सेटअप करता हूं। वर्बोज़ लॉगिंग मुझे नेटवर्क गतिविधि को देखने की अनुमति देता है, और यदि पोर्ट अग्रेषित किए जा रहे हैं।

    ssh -v -D 3333 stefanl@gateway.example.org
    
  2. मैं SOCKS प्रॉक्सी का उपयोग करने के लिए अपने सिस्टम को कॉन्फ़िगर करता हूं। मैं पुष्टि करता हूं कि जावा SOCKS प्रॉक्सी सेटिंग्स का उपयोग कर रहा है।

  3. SOCKS प्रॉक्सी काम कर रही है। मैं अपने वेबब्रोज़र का उपयोग करके http://192.168.1.100/ पर BMC से जुड़ा । मैं लॉग इन कर सकता हूं, सर्वर हेल्थ देख सकता हूं, मशीन को चालू या बंद कर सकता हूं, क्योंकि एसएसएच वर्बोज लॉगिंग सक्षम है, मैं प्रगति देख सकता हूं।

यहाँ है जहाँ यह मुश्किल है:

  1. मैं "लॉन्च कंसोल" बटन पर क्लिक करता हूं जो एक फ़ाइल डाउनलोड करता है जिसे कहा जाता है jviewer.jnlpJNLP फाइलें जावा वेब स्टार्ट के साथ खोली जाती हैं।

  2. एक जावा विंडो खुलती है। टाइटलबार कहता है कि शीर्षक बार में "पुनर्निर्देशन दर्शक" है। "वीडियो" "कीबोर्ड" "माउस", आदि के लिए मेनू हैं। यह पुष्टि करता है कि जावा प्रॉक्सी के माध्यम से एप्लिकेशन डाउनलोड करने में सक्षम है, और एप्लिकेशन शुरू कर सकता है।

  3. 60 सेकंड बाद, एप्लिकेशन बार बाहर निकलता है और बस "वीडियो सॉकेट खोलने में त्रुटि" कहता है। यहाँ एक स्क्रीनशॉट है । यदि यह काम करता है, तो मुझे एक VNC- शैली विंडो दिखाई देगी। मेरा SSH लॉग 5900/5901 पोर्ट के लिए कोई कनेक्शन प्रयास नहीं दिखाता है। इससे पता चलता है कि जावा एप्लिकेशन ने वीएनसी एप्लिकेशन शुरू किया था, लेकिन यह कि वीएनसी एप्लिकेशन सिस्टमवाइड प्रॉक्सी सेटिंग्स को नजरअंदाज करता है और इस तरह दूरस्थ होस्ट से कनेक्ट करने में असमर्थ है।

जावा मेरी प्रणालीबद्ध प्रॉक्सी सेटिंग्स को मानता है, लेकिन यह VNC एप्लिकेशन इसे अनदेखा करता है।

क्या मेरे लिए कोई ऐसा तरीका है जिससे मैं इस VNC के आवेदन को अपनी प्रणालीगत प्रॉक्सी सेटिंग्स का उपयोग करने के लिए मजबूर कर सकूं?

जवाबों:


4

ऐसा लगता है कि वीपीएन वास्तव में आपका सबसे अच्छा दांव हो सकता है। राउटर पर एक एसीएल रखें ताकि केवल गैर-स्थानीय ट्रैफिक को वीपीएन को पार करना पड़े और आपको काम करना पड़े। बहुत ही सरल और सुरक्षित और साथ ही प्रबंधन करने में आसान।


1
वीपीएन हमारे लिए कई IPMI मशीनों के लिए एक नाली के रूप में महान काम कर रहा है। बस टमाटर और OpenVPN के साथ एक आधुनिक (128mb, तेज CPU जैसे Asus RT-N16) राउटर सेट करें और यह एक उपचार का काम करता है। OpenVPN को स्थापित करना आसान हो सकता है , हाँ, लेकिन एक बार सेट करने के बाद यह काम करता है!
जेफ एटवुड

लंबे समय से, मैं SOCKS को छोड़ रहा हूं और एक वीपीएन का उपयोग कर रहा हूं। मैं शायद OpenVPN के साथ जाऊंगा।
स्टीफन लासिवस्की

21

मुझे लगा कि इसके लिए एक मोज़े प्रॉक्सी का उपयोग नहीं करना सबसे अच्छा है, लेकिन इसके बजाय सभी बंदरगाहों को एक स्थानीय आईपी पर आवश्यक है। किसी भी मौजूदा सेवाओं से बचने के लिए, मैं 127.0.0.1 की तुलना में एक अलग आईपी का उपयोग करता हूं। यह मानते हुए कि आपने 127.0.0.2 को चुना है, और प्रॉक्सी के पीछे आपका सर्वर 192.168.1.1 है, यह निम्नलिखित के लिए ssh कमांड है:

ssh उपयोगकर्ता @ प्रॉक्सी-सर्वर -L127.0.0.2: 443: 192.168.1.1: 443 -L127.0.0.2: 5900: 192.168.1.1: 5900 -L127.0.0.2: 5901: 192.168.1.1: 5901 -L127 .0.0.2: 5120: 192.168.1.1: 5120 -L127.0.0.2: 5123: 192.168.1.1: 5123 -C

फिर आप https://127.0.0.2 ब्राउज़ कर सकते हैं और हमेशा की तरह KVM का उपयोग कर सकते हैं ।

फॉरवर्ड टीसीपी पोर्ट्स 5900 और कंट्रोल और वीडियो के लिए 5901, वर्चुअल सीडी के लिए 5120 और वर्चुअल फ्लॉपी के लिए 5123 हैं (मैंने बाद वाले दो का परीक्षण नहीं किया)। संपीड़न के लिए जोड़ा गया -C, हालांकि मुझे नहीं पता कि भेजा गया कुछ भी संपीड़न के लिए उपयुक्त है या नहीं।

एक और, थोड़ा और अधिक आरामदायक (और, सिद्धांत रूप में, बेहतर प्रदर्शन) लाइनक्स पर , sshuttle का उपयोग करना है , जो पारदर्शी रूप से सभी टीसीपी कनेक्शन को iptables और प्रॉक्सी-सर्वर पर एक पायथन इंटरप्रेटर का उपयोग करके आगे की ओर करता है।

sshuttle -r उपयोगकर्ता @ प्रॉक्सी-सर्वर 192.168.1.1

संकेत: sshuttle को डेबियन में पैक किया जा रहा है।

जो मैं अभी तक आगे नहीं कर सका वह यूडीपी पोर्ट 623 है, जिसका इस्तेमाल आईपीएमआई के लिए सीएमआई कनेक्शन, आईपिटमूल के लिए किया जा सकता है। वहाँ रहे हैं कई इस पर ट्यूटोरियल, लेकिन कोई भी मेरे लिए काम किया। वैसे भी, जावा KVM अच्छी तरह से पर्याप्त है।


मैं देखता हूं कि SSH केवल TCP ट्रैफ़िक को आगे बढ़ाता है, UDP ट्रैफ़िक को नहीं। IPMI (पोर्ट 623 / यूडीपी) और सीरियल-ओवर-लैन (पोर्ट 6666 / यूडीपी) केवल यूडीपी हैं, और इस प्रकार का उपयोग करके फंकी यूडीपी-टू-टीसीपी रूपांतरण के कुछ प्रकार की आवश्यकता होती है netcat। कितनी निराशा होती है।
स्टीफन लासवर्स्की

1
पहला ssh कमांड काम करता है (वेब ​​इंटरफेस और जावा रिमोट कंसोल), वर्चुअल सीडी माउंटिंग को छोड़कर काम नहीं करता है जब तक कि आप 623 ( -L127.0.0.2:623:192.168.1.1:623) भी आगे नहीं बढ़ाते हैं । आवश्यक बंदरगाहों को सूचीबद्ध करने के लिए धन्यवाद। यह वीपीएन सेट करने की तुलना में बहुत आसान है।
बेसिक 6

2

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

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