Das alte Dienstprogramm ipfw
wurde in neueren Versionen von Mac OS X entmutigt und ist jetzt von El Capitan verschwunden.
Was ist die moderne Art der Port-Weiterleitung in El Capitan?
Ich möchte einfach, dass Port 80 an Port 8080 weitergeleitet wird.
Antworten:
Um den gesamten Datenverkehr von Port 80 an Port 8080 weiterzuleiten, können Sie Folgendes über die Terminal-Befehlszeile eingeben.
Entnommen aus https://salferrarello.com/mac-pfctl-port-forwarding/
quelle
sudo pfctl -F all -f /etc/pf.conf
, und um Ihre aktuellen Portweiterleitungsregeln anzuzeigen,sudo pfctl -s nat
pf.conf
DateiDie moderne Art, Häfen in El Capitan weiterzuleiten, ist die Verwendung von
pf
. Im folgenden Beispiel werden alle Anforderungen von Port 80 an Port 8080 auf demselben Host weitergeleitet. Bitte passen Sie die Weiterleitungen an Ihre Bedürfnisse an.Erstellen Sie eine Ankerdatei org.user.forwarding in /private/etc/pf.anchors
mit folgendem Inhalt und einer nachgestellten Leerzeile
oder
Ändern Sie die Datei /private/etc/pf.conf, aber lassen Sie eine Leerzeile am Ende
Originaldatei:
zu
Analysieren und testen Sie Ihre Ankerdatei, um sicherzustellen, dass keine Fehler vorliegen:
Ändern Sie nun /System/Library/LaunchDaemons/com.apple.pfctl.plist von
zu
Sie müssen den Systemintegritätsschutz deaktivieren, um dies zu erreichen. Nach dem Bearbeiten der Datei aktivieren Sie SIP erneut. Nach dem Neustart wird Ihr Mac pf aktiviert (das ist die Option -e).
Alternativ können Sie einen eigenen Startdämon erstellen, der der Antwort hier ähnelt: Verwenden von Server 5.0.15 zum Teilen des Internets OHNE Internetfreigabe .
Nach einer Systemaktualisierung oder -aktualisierung wurden möglicherweise einige der oben genannten Originaldateien ersetzt, und Sie müssen alle Änderungen erneut anwenden.
Wenn Sie über verschiedene Schnittstellen weiterleiten möchten, müssen Sie dies in /etc/sysctl.conf aktivieren:
quelle
ping
Sie daran, ist Ihr Freund bei der Diagnose von Netzwerkproblemen.Um die Lösung von @ sal-ferrarello zu erweitern, habe ich zwei Super-Basic-Shell-Skripte erstellt, um die Umleitung zu aktivieren oder zu deaktivieren, ohne bereits vorhandene Einträge in zu gefährden
pf
.I. Finden Sie zuerst heraus, welche Einträge Sie bereits haben:
sudo pfctl -s nat
Meine Ausgabe war wie folgt:
Was uns interessiert, sind aktuelle Einträge, also lassen Sie die ersten beiden Infozeilen weg.
II.
enable.sh
Skript erstellen :Die ersten beiden Zeilen nach
echo
sind die Einträge, die bereits dort waren. Die dritte Zeile enthält eine neue Umleitung - in diesem Fall 80 bis 8080. Am Ende rufen wir auf, umsudo pfctl -s nat
zu prüfen, ob Änderungen vorgenommen wurden.III.
disable.sh
Skript erstellen :Ähnlich wie beim
enable.sh
Erstellen eines Skripts, jedoch ohne 80-> 8080-Umleitung, jedoch mit bereits vorhandenen Einträgen:quelle