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é route
el 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:
Agregue una regla de firewall para marcar ciertos paquetes:
iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 1
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
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.