NAT के माध्यम से जाने के
विषय की निरंतरता में, यहां NAT के पीछे एक कंप्यूटर के प्रबंधन पर
मेरे लेखों का संक्षिप्त वर्णन है।
वास्तव में, यह पिछले दरवाजे का विवरण है, इसलिए सुनिश्चित करें कि आप
किसी और के नेटवर्क को नुकसान नहीं पहुंचाएं और स्थानीय व्यवस्थापकों को आपके जोड़-तोड़ के बारे में पता हो।
टास्क: नेट के पीछे नेटवर्क पर एक लिनक्स कंप्यूटर रखने के लिए, और इसे बाहरी दुनिया से एक्सेस करना होगा। उदाहरण के लिए, आप क्लाइंट पर कुछ समस्या का निवारण या समर्थन करते हैं, और उसके कार्यालय में नहीं बैठने के लिए, आपको जल्दी से रिमोट एक्सेस का निर्माण करने की आवश्यकता है। या, उदाहरण के लिए, 3 जी नेटवर्क में, ग्राहकों को आमतौर पर निजी पते मिलते हैं, और हमें उस कंप्यूटर तक पहुंच की आवश्यकता होती है जहां कोई अन्य कनेक्शन नहीं है।
1. एक वैश्विक आईपी पते के साथ एक लिनक्स सर्वर की आवश्यकता है। न्यूनतम कॉन्फ़िगरेशन में सस्ता VPS सबसे अच्छा काम करेगा। हम अपनी सेवा के लिए एक नया डीएनएस रिकॉर्ड बनाते हैं, जिससे एक विशिष्ट सर्वर से सेवा को एकजुट किया जाता है। इसके अलावा, "callhome.example.net" नाम का उपयोग एक उदाहरण के रूप में किया जाता है।
2. सर्वर पर रखवाले सक्रिय करें और GatewayPorts को / etc / ssh / sshd_configig में सक्षम करें:
ClientAliveInterval 5 ClientAliveCountMax 3 GatewayPorts yes
3. सर्वर पर एक उपयोगी उपयोगकर्ता बनाएँ:
useradd -r -m -k /dev/null comehome cd /home/comehome/ mkdir .ssh chown comehome:comehome .ssh/ chmod 700 .ssh/
4. रिमोट कंप्यूटर - सिद्धांत रूप में, लिनक्स के तहत कोई भी उपकरण। इसे एजेंट 01 कहें। यदि रूट में अभी तक SSH कुंजियाँ नहीं हैं, तो ssh-keygen कमांड के साथ एक कुंजी जोड़ी बनाएँ। फिर स्क्रिप्ट /root/ssh_tunnel.sh बनाएँ:
मूल लेख में स्वचालित रूप से हमारी सुरंग शुरू करने के लिए /etc/init.d के लिए एक स्क्रिप्ट भी है।
5. एजेंट के साथ रूट सार्वजनिक कुंजी को सर्वर पर अधिकृत कुंजी की सूची में जोड़ें, जबकि एजेंट को किसी भी आदेश को निष्पादित करने की अनुमति नहीं है। हम एजेंट को उस पोर्ट पते की भी जानकारी देते हैं जिस पर वह उपलब्ध होगा (सभी एक पंक्ति में):
cat >>.ssh/authorized_keys <<EOT command="/bin/echo 2101",no-user-rc,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3N/skipped/ root@agent01 EOT
दरअसल, बस इतना ही। यह केवल परीक्षण करने के लिए बनी हुई है। सुरंग शुरू करने के बाद, 2101 पोर्ट पर एसएसएच कनेक्शन दूरस्थ कंप्यूटर के पोर्ट 22 पर उतरना चाहिए।
यदि एजेंट ubuntu के तहत एक लैपटॉप है, तो ubuntu 12.04 से शुरू होकर विश्व स्तर पर ढक्कन को बंद करने से गिरने को अक्षम करना असंभव है (कम से कम मैं सफल नहीं हुआ जब मैंने आखिरी बार परीक्षण किया था)।
बैकअप स्क्रिप्ट के लिए मत भूलना।
सुनिश्चित करें कि आपके अलावा कोई भी एजेंट तक पहुंच प्राप्त नहीं करेगा, और यह भी कि मालिक के निर्देशांक एजेंट पर स्पष्ट रूप से लिखे गए हैं - आप किसी और के नेटवर्क को जोखिम में नहीं डालना चाहते हैं।
स्क्रिप्ट में, ServerAliveInterval बहुत महत्वपूर्ण है (वियोग की स्थिति में, क्लाइंट और सर्वर दोनों को पिछली सुरंग को तोड़ना चाहिए), साथ ही साथ नींद (इसके बिना, यदि सर्वर का कोई मार्ग नहीं है, तो तुरन्त लौट जाता है, इसलिए अगली शुरुआत से पहले धीमा होना बेहतर है)। यदि कोई अन्य मशीन पर कॉलहोम सेवा चलती है और एजेंट हमारी भौतिक पहुंच से बाहर है, तो StrictHostKeyChecking अक्षम है।