Estoy usando openconnect
para conectarme a vpn. Después de ingresar mis credenciales, obtengo esto:
POST https://domain.name/...
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 30
Connected tun0 as xxx.xxx.xxx.xxx, using SSL
Established DTLS connection
Ejecutar ifconfig
muestra que tengo una nueva interfaz de red tun0
con una determinada dirección IP.
Pregunta: ¿Cómo ssh
uso solo la interfaz de red tun0
para poder acceder a las computadoras en esa red privada?
Editar:
Mi configuración de red ( route -n
) parece ser esta:
172.16.194.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.16.25.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
Respuestas:
No es el cliente ssh el que decide a través de qué interfaz deben ir los paquetes TCP, es el núcleo. En resumen, SSH le pide al kernel que abra una conexión a una determinada dirección IP, y el kernel decide qué interfaz se utilizará consultando las tablas de enrutamiento.
(Lo siguiente asume que está en GNU / Linux; el concepto general es el mismo para todos los Unices, pero los detalles de los comandos que se ejecutan y la forma en que se formatea la salida pueden variar).
Puede mostrar las tablas de enrutamiento del núcleo con los comandos route -n y / o ip route show .
OpenConnect debería haber agregado una línea para la
tun0
interfaz; las conexiones a cualquier dirección que coincida con esa línea se enrutarán a través de esa interfaz. Por ejemplo, al ejecutarroute -n
en mi computadora portátil obtengo el siguiente resultado:Esto significa que las conexiones a los hosts en la red 192.168.122.0/24 (es decir, las direcciones 192.168.122.0 a 192.168.122.255 según la notación CIDR ) se enrutarán a través de la interfaz
virbr0
; aquellos a 169.254.0.0/16 y 10.30.0.0/24 pasaráneth0
, y cualquier otra cosa (la línea 0.0.0.0) se enrutará a través de eth0 al host de puerta de enlace 10.30.0.1.fuente
openconnect
no agregó una línea para latun0
interfaz. Supongo que debería hacer esto manualmente.No sé cuándo se presentó, pero el cliente OpenSSH en RHEL7 tiene esto en su página de manual:
No es tan bueno como poder elegir la interfaz, pero está cerca.
fuente
-B
bandera, que parece permitir especificar el nombre de la interfaz de red a utilizar.-b bind_address
no funcionó para mí, de alguna manera. Cambiar las rutas temporalmente debería funcionar. Por cierto: la-B
opción no existe en la versión SSH que viene con Ubuntu.Si está utilizando Network Manager para administrar sus conexiones a Internet (como es el administrador predeterminado en muchos sistemas), es posible que desee instalar ambos
openconnect
ynetwork-manager-openconnect
.Una vez que el complemento OpenConnect esté instalado para Network Manager, abra Network Manager y haga clic en el +icono en la esquina inferior izquierda. Debería tener un cuadro combinado con la opción VPN y luego la capacidad de seleccionar VPN compatible con OpenConnect .
Al usar Network Manager para interactuar con OpenConnect, sus rutas aparecerán automáticamente y lo ayudarán a conectarse a la VPN. Esto es especialmente útil para acceder a los servidores a través de VPN, como la forma en que FireHost hace las cosas.
fuente
Solo la adición de una respuesta. Puede usar el
-b
indicador y definir su IP de origen en el momento del acceso.Formato + Ejemplo
fuente