Enrutar ssh a una puerta de enlace específica

Enrutar ssh a una puerta de enlace específica

Me gustaría saber cómo puedo forzar el uso del puerto 22 a la interfaz que quiero, cualquier interfaz, Wi-Fi o Ethernet.
Por ejemplo ruta *:22 a Wi-Fi.
Revisé routeel comando pero parece que no es posible.
¿Alguna idea?
Los comandos BSD o Linux son bienvenidos.

Respuesta1

El enrutamiento regular sólo funciona en términos de direcciones IP y no se preocupa por qué datos (incluidos TCP o UDP) se transfieren.


Al menos en Linux, podrías usarenrutamiento de políticaspara esto:

  1. Agregue una regla de firewall para marcar ciertos paquetes:

    iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 1
    
  2. Cree una nueva tabla de enrutamiento con la puerta de enlace que desee:

    ip route add default via 192.168.0.1 dev wlan0 table 42
    
  3. Agregue una regla de política para usar la nueva tabla de enrutamiento para paquetes marcados:

    ip rule add fwmark 1 table 42
    

En Windows, necesitará un enfoque diferente, por ejemplo, decirle alprogramapara utilizar una interfaz específica. Algunos programas tienen una opción de "vincular dirección", como la de ssh -b:

ssh -b 192.168.0.42 root@myserver

(No sé qué tan bien funciona con múltiplesinterfaces, aunque. Tengo la sensación de que puede que no.)


Finalmente, podrías agregar una ruta de host (a través de Wi-Fi) hacia un servidor específico.

Esto podría ampliarse para habilitar el túnel SSH a través de ese servidor para todas sus otras conexiones.

información relacionada