छद्म माध्यम से सुरंग


16

मैं mosh का बढ़ता प्रशंसक हूं और जब मैं अविश्वसनीय वाईफाई लिंक करता हूं तो मैं इसका उपयोग कर रहा हूं। मैं यह पता लगाने की कोशिश कर रहा हूं कि एक सर्वर के माध्यम से एक सुरंग का निर्माण कैसे किया जाए जो एक डीएमजेड (इंटरनेट और फ़ायरवॉल नेटवर्क से जुड़ा) में है।

Ssh के साथ मेरा वर्तमान समाधान .ssh / config को संपादित करने के लिए है जैसे लाइनें शामिल करने के लिए:

Host server-behind-firewall
  ProxyCommand ssh server-in-dmz nc %h %p

मैंने यह भी पता लगाया है कि मैं एक पैर को करने के लिए ssh का उपयोग कैसे कर सकता हूं और दूसरे को mosh कर सकता हूं:

ssh -t server-in-dmz mosh server-behind-firewall

सर्वर-इन-डीएमज़ और सर्वर-बैक-फ़ायरवॉल के बीच मैं स्क्रीन का उपयोग करके एक mosh सत्र में धांधली करता हूं।

लेकिन क्या मैं वास्तव में सिर्फ एंड-टू-एंड से मॉश का उपयोग करना चाहूंगा। मुझे लगता है कि मैं एक mosh सर्वर सुनने के लिए सर्वर में dmz रिग करना होगा। लेकिन मोश-सर्वर के मैन पेज का कहना है कि "अगर कोई ग्राहक 60 सेकंड के भीतर संपर्क नहीं करता है तो यह बाहर निकल जाएगा।"

संक्षेप में, सवाल यह है: कई मेजबानों के साथ एक मशाल सुरंग का निर्माण कैसे करें?


जवाबों:


5

आप पत्थर की कोशिश करना चाह सकते हैं , जो एक टीसीपी और यूडीपी पैकेट पुनरावर्तक है। इसका अनिवार्य रूप से अर्थ यह है कि आपके पास निम्नलिखित कॉन्फ़िगरेशन हो सकते हैं:

आप <---> सर्वर-इन-डीएमजी पर पत्थर <---> सर्वर-बैक-फ़ायरवॉल

आदेश शब्दों में, SSH पैकेटों के लिए सर्वर X के लिए पोर्ट X पर सुन रहे सर्वर-बैक-फ़ायरवॉल, और UDP पैकेटों के लिए सर्वर-बैक-फ़ायरवॉल पर 60000 पोर्ट अग्रेषित करने के लिए एक और पोर्ट, पोर्ट Y है। mosh-सर्वर।

आपको निम्न कमांड का उपयोग करके mosh से कनेक्ट करना होगा:

mosh -p 60000 --ssh='ssh -p PORT_X' server-in-dmz

3
एक ध्यान देने योग्य बात यह है कि tcp इंटरसेप्टर अनुप्रयोगों जैसे कि tsocks या proxychains का उपयोग करने से काम नहीं चलेगा। इसका कारण यह है कि वे केवल टीसीपी पैकेट को रोकते हैं न कि यूडीपी (जो कि एमओएस उपयोग करता है)।
हेंजी

मैं एक आईपीवी 4 और एक आईपीवी 6 पते के साथ पत्थर का उपयोग कैसे करूं?
12us में Janus Troelsen

0

फॉरवर्ड की बजाय एप्लिकेशन लेयर पर ट्रैफ़िक, जैसा कि @Hengjie द्वारा सुझाया गया है, आप iptables (सर्वर-इन-डीएमज़ पर) का भी उपयोग कर सकते हैं:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 11559 -j DNAT --to-destination 178.254.55.220:22
iptables -t nat -A PREROUTING -p udp -m udp --dport 60159:60168 -j DNAT --to-destination 178.254.55.220
iptables -t nat -A POSTROUTING -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1

फिर, आप का उपयोग कर कनेक्ट करें mosh -p 60159 --ssh='ssh -p 11559' server-in-dmz

ध्यान दें:

  • वहाँ एक तरीका नहीं है mosh-config फाइल में पोर्ट डालने का। :(
  • मैं यादृच्छिक पर बंदरगाहों उठाया।
  • यदि आप ऐसा करते हैं, तो आप कुछ अतिरिक्त iptables विन्यास चाहते हैं ...
  • संपादित करें: पोर्ट की एक पूरी श्रृंखला को डीएनएटी से बेहतर है, क्योंकि एक अच्छा मौका है कि आप गलती से मॉश क्लाइंट को इसके साथ सर्वर को ले जाए बिना मार सकते हैं। यदि आप एक सीमा को आगे नहीं बढ़ाते हैं, तो आपको अपने सर्वर पर ssh और रनिंग mosh सर्वर को मारना होगा। यदि आप पहले स्थान पर खराब संबंध रखते हैं तो थोड़ा परेशान हो सकते हैं।
  • इसके लिए मेरा उपयोग मामला आयोडीन के माध्यम से है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.