एकबारगी या कभी-कभार, स्थितियों के लिए, ProxyCommand दृष्टिकोण आसानी से एक बहुत ही सुविधाजनक है।
दूसरी ओर, यदि आपको कई एक साथ कनेक्शन की आवश्यकता होती है, या जब आपको दैनिक कार्य के लिए अक्सर उस कमांड का उपयोग करने की आवश्यकता होती है, तो आप इसके बजाय अपने सर्वर पर नेटवर्क-पता-अनुवाद (एनएटी) नियम सेट करने पर विचार कर सकते हैं।
इसके rootलिए सबसे पहले एक एकल NAT नियम को लागू करने के लिए आपके सर्वर पर सुपरयुसर (आमतौर पर ) पहुंच की आवश्यकता होती है । ध्यान दें कि एनएटी नियम को लागू करने के लिए इसे (या प्रभावी) बिल्कुल भी अनुमति नहीं दी जा सकती है , भले ही आपके पास सुपरसुसर एक्सेस हो, अगर आपका "सर्वर" वास्तव में एक मशीन के बजाय एक कंटेनर (डॉकर की तरह) है।
iptablesसूट के साथ एक विशिष्ट लिनक्स प्रणाली की बात करते हुए , NAT नमूना आपके नमूना मामले के लिए आपके सर्वर 1 पर लागू करने के लिए नियम जैसा हो सकता है:
iptables -t nat -I POSTROUTING -d <server2-ip-address> -p tcp --dport <server2-port> -j SNAT --to :33101-33109
वह आदेश लिनक्स कर्नेल को उस समय उपलब्ध 3333-33109 की सीमा के भीतर चुने गए स्रोत पोर्ट का उपयोग करके बाहर जाने के लिए Server2-ip -port के पोर्ट सर्वर 2-पोर्ट की ओर कोई संबंध बनाने का निर्देश देता है ।
एक बार जब वह नियम लागू हो जाता है, तो आप अपने सर्वर 2 से हमेशा की तरह जुड़ जाते हैं:
ssh username@server2 -p remote_port
और जब तक आप sshNAT नियम में निर्दिष्ट सीमा में उपलब्ध पोर्ट उपलब्ध हैं, तब तक आप इसी कमांड का उपयोग कई बार भी कर सकते हैं ।
हालाँकि, ध्यान दें कि netstatआपके सर्वर पर चलाया गया (या समतुल्य कमांड) कनेक्शन के स्थानीय पते को अनमॉडिफाइड , बेतरतीब ढंग से चुना हुआ, सोर्स पोर्ट नंबर होने के बावजूद रिपोर्ट करता है कि वास्तविक ट्रैफ़िक जो आपके सर्वर को दिया गया है, संशोधित सोर्स पोर्ट नंबर को वहन करता है ।
NAT नियम को पूर्ववत करने के लिए, कमांड एक ही है सिवाय -Dविकल्प के स्थान पर -I।
एनएटी नियम को बूट पर स्वचालित रूप से लागू करने के लिए यह निर्भर करता है कि आपके सर्वर पर लिनक्स वितरण क्या है, और इस पर पहले से ही कुछ फ़ायरवॉल कॉन्फ़िगरेशन है या नहीं।
मुझे बीएसडी जैसी प्रणालियों के साथ कोई अनुभव नहीं है, लेकिन मुझे विश्वास है कि एक समकक्ष है।