Tüm gelen bağlantıları ana bilgisayarımın 1000 numaralı bağlantı noktasına (IP: 200.234.XXX.XXX) 10.211.55.5 ana bilgisayarındaki 80 numaralı bağlantı noktasına yönlendirmek istiyorum.
Ana bilgisayarımda nasıl yapabilirim? Mac OS X 10.5.8 kullanıyor
Tüm gelen bağlantıları ana bilgisayarımın 1000 numaralı bağlantı noktasına (IP: 200.234.XXX.XXX) 10.211.55.5 ana bilgisayarındaki 80 numaralı bağlantı noktasına yönlendirmek istiyorum.
Ana bilgisayarımda nasıl yapabilirim? Mac OS X 10.5.8 kullanıyor
Yanıtlar:
Oldukça basit, Öncelikle mac'unuzdaki uzaktan giriş servisini etkinleştirmeniz gerekecektir ( Sistem Tercihleri -> Paylaşma -> Uzaktan Giriş ). Bu, ssh sunucunuzu başlatır.
Ardından OS X Terminalinizde aşağıdaki komutu çalıştırın:
ssh -L 200.234.XXX.XXX:10000:10.211.55.5:80 -N 127.0.0.1
Başlangıçta sunucu parmak izini kabul etmeniz ve ssh girişi için yerel şifrenizi yazmanız gerekebilir. (Ayrıca parola istememesini sağlamak için yerelden yerel ssh'ye açık / özel anahtar da kurabilirsiniz, bunu okuyucu için bir alıştırma olarak bırakacaktır.)
Format:
ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1
Çok yönlü alet ncat kullanarak çok basit:
sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open
Mac OS X için ncat / nmap dosyalarının resmi web sitesinden alın: http://nmap.org/download.html#macosx
EDIT: kısıtlı bir bağlantı noktasında <1024 dinlemek için sudo eklendi
Mac OS X 10.5.8 sistemimde bu tür şeyleri nasıl yaptığımı söyleyebilirim.
NAT ile ilgili bir cevap vermeye başladım, ancak bunun yerine aslında bir TCP iletme programı istediğinizi düşünüyorum ('proxy' ve bağlantı noktası iletme işleminden bahsediyorsunuz)
Bunu yapmanın birkaç yolu var, gereksinimlerinize bağlı olarak 'SSH' bile eyleme sokulabilir, ancak en sevdiğim kısa ve tatlı tarzım bir Perl betiği tcpforward .
Bazı HTTP manipülasyonlarına ihtiyacınız varsa (HTTP yönlendirmelerini ince ayar yapmanız gerekebilir; böylece bir istek için '/' izlemeyen bir URL için bir istek geldiğinde, gerçek, erişilemez sunucuya yönlendirilmezsiniz), Apache ters bir vekil işi. Mod_proxy'ye ve özellikle ProxyPass ve ProxyPassReverse'ye bakmak isteyeceksiniz . Do not ileri vekalet için olduğunu, ProxyRequests etkinleştirin. Bunu yapmak için Mac OS'nin kendi Apache'sini kullanmanız mümkün olmalı. Mod_proxy ile birlikte gelir ve /etc/httpd/httpd.conf güncellenecek yapılandırma dosyasıdır.
Apache ile bile, gerçek sunucunun içeriğindeki tüm bağlantıların göreceli olduğundan emin olmanız gerekir, eğer gerçek sunucuya başvururlarsa mod_proxy_html modülünü deneyebilirsiniz (ne kadar iyi çalıştığı konusunda hiçbir tecrübem yok).
Makineniz doğrudan internete mi bağlı (IE - yönlendirici olmadan)? Normalde bağlantı noktasını yönlendirici üzerinde yaparsınız, ancak doğrudan bağlanmak için bir modem kullanıyorsanız, iptables muhtemelen en iyi yoldur.
iptablesSorunun sorduğunu gerçekleştirmek için nasıl kullanılacağını tam olarak ayrıntılı olarak açıkladıysanız , bu faydalı olabilir.
İşte güzel bir makale: http://www.cyberhq.nl/article/384/port-forwarding-in-macos-x
Ancak 80'e yönlendirdiğinizden, bir web sunucusuna gitmesini istediğinizi farz ediyorum, bu yüzden web sunucusu yapılandırmasını tersine bir proxy veya benzeri bir şey ayarlamak üzere değiştireceğim.