Mac OS X Lion - leitet alle Verbindungen an Port 22 an eine externe IP weiter [geschlossen]

8

Ich muss die gesamte Verbindung zu einem beliebigen Adressport 22 an ein anderes Gateway weiterleiten (dh keine Standardeinstellung). Erstens nehme ich an, es mit ipfw zu machen:

sudo ipfw add 5 fwd $EXTERNAL_IP,22 tcp from any to any 22 keep-state

Aber mit Mac OS X Lion scheint es nicht zu funktionieren. Wenn ich mir die ipfw-Dokumentation ansehe, sehe ich, dass sie veraltet ist und ich pfctl verwenden sollte.

Also habe ich die /etc/pf.confDatei geändert :

rdr proto tcp from $internal_ip to any port 22 -> $external_ip port 22

Aber ohne Glück.

Weiß jemand, wie alle von lokalen Anwendungen generierten Verbindungen an eine andere Adresse als Port 22 an eine andere Gateway- / IP-Adresse übersetzt oder weitergeleitet werden?

Aktualisieren

Auf Jakes Vorschlag hin habe ich versucht, nur die Ziel-IP anzugeben, also habe ich die rdr-Regel in die Mac OS X-Syntax konvertiert:

rdr proto tcp from any to any port 22 -> $external_ip port 22

Selbst in diesem Fall habe ich nicht die erwarteten Ergebnisse erzielt, dh ich kann über ssh eine Verbindung zu meinem Server herstellen, jedoch über das Standard-Gateway.

freedev
quelle
Hast du es herausgefunden? Ich versuche, einen transparenten Proxy auf localhost zwischen localhost und externen Diensten einzufügen, und das ohne Glück. Ich vermute, dass OS X gerade an dieser Front zu Windows gekommen ist - keine NAT-Unterstützung mehr auf System-Firewall-Ebene, aber ich hoffe immer noch, dass dies möglich ist.
Foxx1337
2
Nein, ich habe Linux aufgegeben und eingeschaltet.
Freedev
genau das, was ich getan habe; danke für das Update
foxx1337

Antworten:

0
rdr pass on $internal_ip inet proto tcp from any to any port 22

Kein Experte, denke, das sollte es tun. Es ist lange her, dass ich etwas anderes als iptables verwendet habe :)

Jake
quelle
Vielen Dank an Jake für Ihre vorläufige Hilfe. Leider wird diese Syntax nicht unterstützt, und selbst der Versuch, die rdr-Regel zu korrigieren, ergab nicht das erwartete Ergebnis. Ich habe meine Frage mit Ihrem Vorschlag aktualisiert.
freedev
0

Sie können versuchen, einen Port von rinetd für Mac OS X zu finden.

Mike
quelle