So machen Sie einen Port in Mac OS X weiter

88962
Daniel Cukier

Ich möchte alle eingehenden Verbindungen zu Port 1000 meines Hosts (IP: 200.234.XXX.XXX) herstellen, um an Port 80 auf Host 10.211.55.5 weitergeleitet zu werden

Wie kann ich das bei meinem Gastgeber machen? Es läuft Mac OS X 10.5.8

31
Ah, Sie laufen auch Parallelen, haben das gleiche Problem wie ich? :) LearnCocos2D vor 11 Jahren 0

6 Antworten auf die Frage

27
Marius

Ganz einfach zu tun. Zuerst müssen Sie den Remote-Anmeldedienst auf Ihrem Mac aktivieren ( Systemeinstellungen -> Freigabe -> Remote-Login ). Dadurch wird Ihr SSH-Server gestartet.

Führen Sie dann den folgenden Befehl in Ihrem OS X Terminal aus:

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

Möglicherweise müssen Sie zunächst den Serverfingerabdruck akzeptieren und Ihr lokales Kennwort für die SSH-Anmeldung eingeben. (Sie können auch einen lokalen für einen lokalen / öffentlichen ssh-Schlüssel einrichten, damit er nicht zur Eingabe eines Kennworts aufgefordert wird; dies lässt den Leser als Übung.)

Das Format ist:

ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1 
Können wir es tun, wenn Port 22 nicht geöffnet ist? Afshin Moazami vor 9 Jahren 0
Sie müssen sich irgendwie verbinden. Sie können ssh aber immer auf einem anderen Port ausführen ... vielleicht http-Port? oder der BIND (DNS) -Port? Diese sind meistens auf Firewalls geöffnet. Marius vor 8 Jahren 1
tolle! Vielen Dank, dass es funktioniert hat! kernix vor 8 Jahren 0
8
Tony Baguette

Sehr einfach mit dem vielseitigen Tool ncat:

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

Laden Sie die Binärdateien von ncat / nmap für Mac OS X von der offiziellen Website herunter: http://nmap.org/download.html#macosx

EDIT: Sudo hinzugefügt, um einen eingeschränkten Port <1024 zu überwachen

Vielen Dank. es ist sehr einfach und muss nicht neu gestartet werden! verystrongjoe vor 7 Jahren 1
Sie müssen den SSH-Server auch nicht auf Ihrem macOS starten. Tony Baguette vor 7 Jahren 0
5
Alexis Hirst

Vorausgesetzt, Sie verfügen über einen UPnP-Router, dessen Ports einfach mit PortMap konfiguriert werden können

Es hat eine sehr einfache Benutzeroberfläche.

Alt-Text

warum ist dein bild so klein? barlop vor 7 Jahren 0
2
jrg

Nun, ich kann Ihnen sagen, wie ich das auf meinem Mac OS X 10.5.8-System mache.

Ich habe mit einer Antwort zu NAT angefangen, aber ich glaube, Sie möchten stattdessen ein TCP-Forwarder-Programm (Sie erwähnen "Proxy" und Portweiterleitung).

Es gibt verschiedene Möglichkeiten, dies zu tun. Abhängig von Ihren Anforderungen kann sogar 'SSH' in die Tat umgesetzt werden, obwohl meine bevorzugte kurze und süße Art ein Perl-Skript ist .

Wenn Sie HTTP-Manipulationen benötigen (möglicherweise müssen Sie HTTP-Weiterleitungen anpassen, damit bei einer Anfrage nach einer URL ohne abschließendes "/" Sie nicht an den realen, nicht zugänglichen Server weitergeleitet werden), dann kann Apache dies tun Aufgabe eines Reverse Proxy. Sie sollten sich mod_proxy und insbesondere ProxyPass und ProxyPassReverse ansehen. Aktivieren Sie nicht ProxyRequests. Dies ist für das Forward-Proxying. Es sollte möglich sein, den eigenen Apache von Mac OS zu verwenden, wenn dies ausgeführt wird. Es kommt mit mod_proxy und /etc/httpd/httpd.conf ist die zu aktualisierende Konfigurationsdatei.

Selbst bei Apache müssen Sie sicherstellen, dass alle Links im Inhalt des realen Servers relativ sind. Wenn sie auf den realen Server verweisen, können Sie das Modul mod_proxy_html versuchen (ich habe keine Erfahrung, wie gut das funktioniert.)

-1
Dentrasi

Ist Ihre Maschine direkt mit dem Internet verbunden (IE - ohne Router)? Normalerweise führen Sie die Portweiterleitung auf dem Router durch, aber wenn Sie ein Modem verwenden, um eine direkte Verbindung herzustellen, ist iptables wahrscheinlich der beste Weg.

Ich habe keine Ahnung, warum dies abgelehnt wurde, weil es die Wahrheit ist. Hasaan Chop vor 14 Jahren 0
@HasaanChop Dies ist abgelehnt, weil es nicht hilfreich ist. Wenn genau beschrieben wird, wie "iptables" verwendet wird, um die gestellten Fragen auszuführen, könnte dies nützlich sein. Jon-Eric vor 11 Jahren 4
Es gibt keine iptables auf mac os x. Dmitry Dulepov vor 7 Jahren 0
-1
Nisse Engström

Hier ist ein guter Artikel: http://www.cyberhq.nl/article/384/port-forwarding-in-macos-x

Da Sie jedoch auf 80 weiterleiten, gehe ich davon aus, dass Sie einen Webserver aufrufen möchten. Ich würde also einfach die Webserver-Konfiguration ändern, um einen Reverse-Proxy oder etwas Ähnliches einzurichten.

Sieht aus wie der Link gebrochen ist Jochen Bedersdorfer vor 9 Jahren 6