
Tengo un dispositivo al que ya no puedo conectarme (ssh, salt, ...), al que no tengo fácil acceso físico, pero aún abre una sesión OpenVPN en mi servidor. Para intentar recuperarlo, me gustaría:
- en el servidor fuerza una reconexión para este cliente
- cuando el cliente se vuelve a conectar, envíe un script que el cliente ejecutaría (primero echaría un vistazo a lo que está sucediendo mediante un volcado de registros y configuraciones, y luego posiblemente recuperaría la configuración correcta)
Hay solución parascripts que se ejecutarán en el cliente una vez que se conectepero todos suponen que esta es la elección del cliente (= la configuración está en el lado del cliente). Estoy buscando al revés.
Puedo ver un problema de seguridad en este enfoque (el proveedor de VPN podría hacerse cargo de la máquina cliente), pero tal vez haya una manera que no sea obvia en la documentación.
Respuesta1
Para obligar al cliente a volver a conectarse, puede:
- elimine la combinación de dirección IP de origen específica y puerto de origen usandoiptablesenPRODUCCIÓNcadena, o dirección de destino y puerto de destino enAPORTEdurante un período de tiempo más largo que el intervalo de reinicio de ping,
- elimine al cliente especificado en la interfaz de administración de OpenVPN:mira aquí
- reinicie el servicio OpenVPN en el servidor, todo lo anterior forzará un nuevo intercambio de claves simétricas, nuevos sockets y un nuevo número de puerto dst.
Por qué no puedes ejecutar un script:
- no tienes suerte aquí. Los scripts están configurados y deben ubicarse en el lado del cliente, AFAIK, incluso el ccd de OpenVPN no lo permite, también se requiere una directiva de configuración "pull" adecuada en el lado del cliente, para permitir que el servidor extraiga las opciones de túnel más básicas como: cifrado , tamaños de búfer, compresión, rutas, etc., pero no las directivas de configuración de scripts.
en la configuración predeterminada, OpenVPN funciona sin privilegios de nadie,- esto sería un agujero de seguridad.