Ich würde gerne wissen, wie ich die Verwendung von Port 22 für die gewünschte Schnittstelle erzwingen kann, egal welche Schnittstelle, WLAN oder Ethernet.
Beispielsweise route *:22 zu WLAN.
Ich habe route
den Befehl geprüft, aber es sieht so aus, als ob das nicht möglich ist.
Irgendeine Idee?
BSD- oder Linux-Befehle sind willkommen.
Antwort1
Das normale Routing funktioniert nur hinsichtlich der IP-Adressen und kümmert sich nicht darum, welche Daten (auch TCP oder UDP) übertragen werden.
Zumindest unter Linux können SieRichtlinienroutingdafür:
Fügen Sie eine Firewall-Regel hinzu, um bestimmte Pakete zu markieren:
iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 1
Erstellen Sie eine neue Routing-Tabelle mit Ihrem gewünschten Gateway:
ip route add default via 192.168.0.1 dev wlan0 table 42
Fügen Sie eine Richtlinienregel hinzu, um die neue Routing-Tabelle für markierte Pakete zu verwenden:
ip rule add fwmark 1 table 42
Unter Windows müssen Sie einen anderen Ansatz wählen, z. B. indem Sie demProgrammum eine bestimmte Schnittstelle zu verwenden. Einige Programme haben eine Option für „Bind-Adressen“, wie zum Beispiel ssh -b
:
ssh -b 192.168.0.42 root@myserver
(Ich weiß nicht, wie gut es mit mehreren funktioniertSchnittstellen, aber ich habe das Gefühl, dass dem nicht so sein wird.)
Schließlich können Sie eine Host-Route (über WLAN) zu einem bestimmten Server hinzufügen.
Dies könnte erweitert werden, um SSH-Tunneling durch diesen Server für alle Ihre anderen Verbindungen zu aktivieren.