¿Es posible implementar dos OpenVPN con capacidad de replicación y conmutación por error? Por ejemplo, si uno está inactivo o falla, el otro está disponible para autenticación, configuración de servidor/cliente, etc.
Respuesta1
No entendí por qué disparar desde el cañón a la mosca. IHMO, hay una forma más sencilla: utilizar las funciones integradas de OpenVPN y Linux iproute2 para redundancia de rutas múltiples. Seré más seguro, más estable y consumiré menos recursos.
Fuente:https://openvpn.net/index.php/open-source/documentation/howto.html
Implementación de un cliente de configuración de equilibrio de carga/conmutación por error
La configuración del cliente OpenVPN puede hacer referencia a varios servidores para equilibrio de carga y conmutación por error. Por ejemplo:
remote server1.mydomain
remote server2.mydomain
remote server3.mydomain
indicará al cliente OpenVPN que intente una conexión con el servidor1, el servidor2 y el servidor3 en ese orden. Si se interrumpe una conexión existente, el cliente OpenVPN volverá a intentarlo con el servidor conectado más recientemente y, si eso falla, pasará al siguiente servidor de la lista. También puede ordenar al cliente OpenVPN que aleatorice su lista de servidores al inicio, de modo que la carga del cliente se distribuya probabilísticamente en todo el grupo de servidores.
remote-random
Si también desea que las fallas en la resolución de DNS hagan que el cliente OpenVPN se mueva al siguiente servidor en la lista, agregue lo siguiente:
resolv-retry 60
El parámetro 60 le dice al cliente OpenVPN que intente resolver cada nombre DNS remoto durante 60 segundos antes de pasar al siguiente servidor de la lista.
La lista de servidores también puede hacer referencia a varios demonios del servidor OpenVPN que se ejecutan en la misma máquina, cada uno de los cuales escucha conexiones en un puerto diferente, por ejemplo:
remote smp-server1.mydomain 8000
remote smp-server1.mydomain 8001
remote smp-server2.mydomain 8000
remote smp-server2.mydomain 8001
Si sus servidores son máquinas multiprocesador, ejecutar varios demonios OpenVPN en cada servidor puede resultar ventajoso desde el punto de vista del rendimiento.
OpenVPN también admite la directiva remota que hace referencia a un nombre DNS que tiene varios registros A en la configuración de zona del dominio. En este caso, el cliente OpenVPN elegirá aleatoriamente uno de los registros A cada vez que se resuelva el dominio. Servidor
El enfoque más simple para una configuración de conmutación por error/equilibrio de carga en el servidor es utilizar archivos de configuración equivalentes en cada servidor del clúster, excepto que se utiliza un grupo de direcciones IP virtuales diferente para cada servidor. Por ejemplo:
servidor 1
server 10.8.0.0 255.255.255.0
servidor2
server 10.8.1.0 255.255.255.0
servidor3
server 10.8.2.0 255.255.255.0
Respuesta2
¿Conmutación por error? Sí, lo hago todo el tiempo, usando Heartbeat y CRM. No vale la pena intentar replicar o preservar el estado; cuando ocurre la conmutación por error, todos los clientes conectados se volverán a autenticar de todos modos, y eso está bien para los guerreros de la carretera. No estaría bien para las VPN de sitio a sitio, pero (en mi humilde opinión) OpenVPN es la herramienta equivocada para ellas, de todos modos.