Mac OS X'te bağlantı noktasının ilerlemesi nasıl yapılır


36

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


ah, aynı zamanda benimle de aynı problemi yaşayan paralellikler yapıyorsunuz? :)
LearnCocos2D

Yanıtlar:


30

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

Bağlantı noktası 22 açık değilse yapabilir miyiz?
Afshin Moazami,

1
Her nasılsa bağlanmalısın. Ama ssh'i her zaman başka bir limanda çalıştırabilirsin ... belki http limanı? veya BIND (DNS) portu? Bunlar çoğunlukla güvenlik duvarlarına açık.
Marius

10

Ç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


1
Teşekkürler. Bunun yanında çok basittir, ancak yeniden başlatılması gerekmez!
verystrongjoe

Ayrıca, macOS'unuzda SSH sunucusunu başlatmanız gerekmez.
Tony Baguette

5

Bir UPnP yönlendiriciniz olduğunu varsayarsak, PortMap kullanarak bağlantı noktalarını yapılandırması kolaydır

Çok basit bir kullanıcı arayüzü var.

alt metin


İmajın neden bu kadar küçük?
barlop

3

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).


Tcpforward için +1, Perl hiçbir zaman işe yaramaz.
Steve Kehlet

0

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.


Bunun neden oylandığına dair hiçbir fikrim yok çünkü gerçek bu.
Hasaan Chop

4
@HasaanChop Yararlı olmadığı için bu oy kullanılamaz. 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.
Jon-Eric

Mac os x üzerinde iptable yoktur.
Adsız_1

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.