No se puede conectar al servidor SSH cuando la VPN está activada

9

Recientemente descubrí que cuando mi estación de trabajo se conecta a través de una conexión VPN, su servidor SSH no puede conectarse desde un sitio remoto. Estoy seguro de que es un problema de enrutamiento porque el cliente VPN cambia la puerta de enlace predeterminada a su igual (servidor VPN) de la conexión ppp.

¿Hay alguna solución para hacer felices al servidor SSH y al cliente VPN?

por cierto
fuente

Respuestas:

2

Cuando usa un VPN generalmente, la red VPN se hace cargo de toda su interfaz, de modo que solo puede enrutarse desde algún lugar de la red VPN, no desde Internet en general. La mayoría de las personas resuelven este problema ejecutando un vm (virtualbox, etc.) y conectándose al vpn en esa máquina virtual para que no conecte completamente la conexión principal en la máquina real.

Stu
fuente
Puede hacer algunos trucos de enrutamiento para enrutar datos desde vpn de una manera y otros datos de otra manera (diferentes puertas de enlace, etc.) pero en realidad es mucho más fácil usar virtualbox. :-)
Stu
¡Gracias por la sugerencia! Me gustaría saber qué truco de enrutamiento puede lograr esto.
cierto el
Estoy usando VM stu, pero lo que no puedo hacer es evaluar la VPN en el host, ya que necesito hacer un trabajo de desarrollo.
Jamie Hutber
Oh, estaba sugiriendo lo contrario. Use el vpn únicamente en el vm y eso deja la máquina reak para internet abierto y gratuito.
Stu
2

Antes de aventurarse a través de las configuraciones de red, verifique si el servidor ssh en cuestión escucha en la interfaz vpn. Tal vez está vinculado a una interfaz específica en su servidor.

netstat -aSalida de ejemplo :

 Proto Recv-Q Send-Q Local Address    Foreign Address   State      
 tcp        0      0 *:ssh            *:*               LISTEN      

El servidor ssh en este ejemplo escucha en todas las interfaces (indicado por el asterisco en *:ssh. Si en su sistema hay una dirección de host, el servidor ssh está vinculado a interfaces específicas.

Edite /etc/ssh/sshd_configy configure ListenAddress 0.0.0.0para ajustar esto, si es necesario.

Si sshd ya escucha las interfaces correctas, siéntase libre de ingresar al calabozo de enrutamiento :-)

ktf
fuente
1
¿A qué dirección se debe ListenAddressconfigurar? ¿La IP del servidor en la interfaz local? ¿La IP del enrutador? ¿Algo más?
Psiconauta
0

Estás hablando de túneles divididos. Si está familiarizado con la herramienta ROUTE.EXE de línea de comandos , puede examinar las rutas colocadas por el cliente VPN y eliminarlas. Luego volvería a agregar uno para permitir que solo el tráfico a su LAN corporativa fluya a través de la puerta de enlace VPN.

Específicamente, usarías

route print

... para obtener una lista de las entradas de enrutamiento. Sin ver la salida, parece que su cliente VPN habría colocado una entrada predeterminada (0.0.0.0) con la puerta de enlace siendo la puerta de enlace de igual VPN. Puedes usar

route delete 10.*

... por ejemplo, para eliminar todas las entradas que apuntan a una red 10.xxx.

Entonces puedes usar

route add 10.0.0.0 mask 255.0.0.0 10.0.99.99

... donde la primera dirección (10.0.0.0 255.0.0.0) es su red corporativa y máscara, y la segunda dirección es la puerta de enlace remota.

Debería ejecutar esto cada vez que se conecte, por lo que es posible que desee realizar un script.

Nota al margen: una alternativa sería convencer a su empresa de configurar su VPN para utilizar el túnel dividido; Un argumento para esto es el ancho de banda reducido y (IANAL) la responsabilidad reducida por el tráfico web no corporativo que fluye a través de su red.

Geoff
fuente