मैक ओएस एक्स में पोर्ट को कैसे आगे बढ़ाया जाए


36

मैं अपने 1000 होस्ट (आईपी: 200.234.XXX.XXX) पोर्ट के लिए आने वाले सभी कनेक्शनों को होस्ट 10.211.55.5 पोर्ट 80 पर फॉरवर्ड करना चाहता हूं।

मैं इसे अपने मेजबान पर कैसे कर सकता हूं? यह मैक ओएस एक्स 10.5.8 चल रहा है


आह, तुम भी समानताएं चला रहे हो, मुझे भी यही समस्या है? :)
LearnCocos2D

जवाबों:


30

करने के लिए काफी सरल, सबसे पहले आपको अपने मैक ( सिस्टम वरीयताएँ -> साझाकरण -> दूरस्थ सेवा) पर दूरस्थ लॉगिन सेवा को सक्षम करने की आवश्यकता होगी । इससे आपका ssh सर्वर शुरू हो जाता है।

फिर अपने OS X टर्मिनल में निम्न कमांड चलाएँ:

ssh -L 200.234.XXX.XXX:10000:10.211.55.5:80 -N 127.0.0.1

आपको शुरू में ssh लॉगइन के लिए अपने स्थानीय पासवर्ड के साथ-साथ सर्वर फिंगरप्रिंट को भी स्वीकार करना पड़ सकता है। (आप इसे पासवर्ड के लिए संकेत नहीं करने के लिए एक स्थानीय सेश सार्वजनिक / निजी कुंजी पर सेट कर सकते हैं, पाठक के लिए एक अभ्यास के रूप में छोड़ देंगे।)

प्रारूप है:

ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1

क्या हम इसे कर सकते हैं यदि पोर्ट 22 खुला नहीं है?
Afshin Moazami

1
आपको किसी तरह कनेक्ट करने की आवश्यकता है। लेकिन आप हमेशा दूसरे पोर्ट पर ssh चला सकते हैं ... शायद http पोर्ट? या BIND (DNS) पोर्ट? जो ज्यादातर फायरवॉल पर खुले होते हैं।
Marius

10

बहुमुखी उपकरण ncat का उपयोग करके बहुत सरल:

sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open

मैक ओएस एक्स के लिए आधिकारिक वेबसाइट से ncat / nmap की बायनरी प्राप्त करें: http://nmap.org/download.html#sacosxx

संपादित करें: एक प्रतिबंधित बंदरगाह पर सुनने के लिए sudo जोड़ा गया <1024


1
धन्यवाद। यह बहुत आसान है इसके अलावा इसे रिबूट करने की आवश्यकता नहीं है!
verystrongjoe

इसके अलावा आपको अपने macOS पर SSH सर्वर शुरू करने की आवश्यकता नहीं है।
टोनी बगुएट


3

ठीक है, मैं आपको बता सकता हूं कि मैं अपने मैक ओएस एक्स 10.5.8 सिस्टम पर किस तरह का काम करता हूं।

मैंने NAT के बारे में एक उत्तर पर शुरू किया, लेकिन मुझे लगता है कि आप वास्तव में इसके बजाय एक टीसीपी फारवर्डर कार्यक्रम चाहते हैं (आप 'प्रॉक्सी' और पोर्ट अग्रेषण का उल्लेख करते हैं।)

ऐसा करने के कुछ तरीके हैं, आपकी आवश्यकताओं के आधार पर भी 'SSH' को कार्रवाई में दबाया जा सकता है, हालांकि मेरा पसंदीदा छोटा और मीठा तरीका एक पर्ल स्क्रिप्ट tcpforward है

यदि आपको कुछ HTTP मैनिपुलेशन की आवश्यकता है (आपको HTTP रीडायरेक्ट को ट्वीक करने की आवश्यकता हो सकती है, ताकि जब कोई URL बिना किसी अनुगामी के लिए आए '/' आपको वास्तविक, दुर्गम, सर्वर पर रीडायरेक्ट न मिले), तो Apache कर सकते हैं रिवर्स प्रॉक्सी का काम। आप mod_proxy और विशेष रूप से ProxyPass और ProxyPassReverse को देखना चाहते हैं । करो नहीं ProxyRequests सक्षम, आगे प्रॉक्सी के लिए बहुत कुछ है। ऐसा करने के लिए मैक ओएस की खुद की अपाचे का उपयोग करना संभव होना चाहिए, अगर आपको यह चल रहा है। यह mod_proxy के साथ आता है और /etc/httpd/httpd.conf अपडेट करने के लिए config फाइल है।

अपाचे के साथ भी, आपको यह सुनिश्चित करने की आवश्यकता है कि वास्तविक सर्वर की सामग्री के सभी लिंक रिश्तेदार हैं, यदि वे वास्तविक सर्वर को संदर्भित करते हैं तो आप mod_proxy_html मॉड्यूल की कोशिश कर सकते हैं (मुझे इस बात का कोई अनुभव नहीं है कि यह कितना अच्छा है।)


Tcpforward के लिए +1, पर्ल कभी उपयोगी नहीं होता है।
स्टीव केहलेट

0

क्या आपकी मशीन सीधे इंटरनेट से जुड़ी है (आईई - एक राउटर के बिना)? आम तौर पर आप राउटर पर पोर्ट अग्रेषण करते हैं, लेकिन यदि आप सीधे कनेक्ट करने के लिए एक मॉडेम का उपयोग करते हैं, तो iptables शायद सबसे अच्छा तरीका है।


मुझे नहीं पता कि यह मतदान क्यों किया गया क्योंकि यह सच्चाई है।
हसन चोप

4
@ हसनचैप इसे डाउनवोट किया गया है क्योंकि यह मददगार नहीं है। यदि यह विस्तृत है कि iptablesप्रश्न क्या पूछा गया था, यह पूरा करने के लिए कैसे उपयोग किया जाए, तो यह उपयोगी हो सकता है।
जॉन-एरिक

मैक ओएस एक्स पर कोई iptables नहीं है।
१/२

-1

यहाँ एक अच्छा लेख है: http://www.cyberhq.nl/article/384/port-forwarding-in-mosos-x

लेकिन जब से आप 80 को अग्रेषित कर रहे हैं मैं मान रहा हूं कि आप इसे वेब सर्वर पर जाना चाहते हैं, इसलिए मैं रिवर्स प्रॉक्सी या ऐसा कुछ सेट करने के लिए वेब सर्वर कॉन्फ़िगरेशन को बदल दूंगा।


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