SSH an ein bestimmtes Gateway weiterleiten

SSH an ein bestimmtes Gateway weiterleiten

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 routeden 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:

  1. 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
    
  2. Erstellen Sie eine neue Routing-Tabelle mit Ihrem gewünschten Gateway:

    ip route add default via 192.168.0.1 dev wlan0 table 42
    
  3. 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.

verwandte Informationen