De hecho, he hecho esto, aunque con "sólo" unos pocos cientos de conexiones remotas de manera similar detrás de los routers DSL. No puedo comentar demasiado sobre los problemas de reintroducción, pero algunas cosas prácticas que aprendí en el camino:
1) Al desplegar los clientes, asegúrese de especificar varios servidores VPN en la conf del cliente, vpn1.ejemplo.com, vpn2.ejemplo.com, vpn3..... Incluso si sólo proporciona uno o dos de estos ahora, usted se da margen de maniobra. Si se configura correctamente, los clientes seguirán probando al azar hasta que encuentren uno que funcione.
2) Utilizamos una imagen de servidor de VPN de AWS personalizada, y podemos aumentar la capacidad adicional bajo demanda, y Amazon DNS (R53) se encarga de la parte de DNS. Está completamente separado del resto de nuestra infraestructura.
3) En el extremo del servidor o servidores, utilice cuidadosamente la máscara de red para restringir el número de clientes potenciales. Eso debería forzar a los clientes a ir a un servidor alternativo, mitigando los problemas de CPU. Creo que limitamos nuestros servidores a unos 300 clientes. Esta elección fue un tanto arbitraria por nuestra parte, una "corazonada" si se quiere.
4) También en el extremo del servidor, debe hacer un uso cuidadoso de los cortafuegos. En términos simples, tenemos el nuestro configurado de tal manera que los clientes pueden conectarse por VPN, pero los servidores no permiten estrictamente todas las conexiones ssh de entrada, excepto desde una dirección IP conocida. Podemos hacer SSH a los clientes si lo necesitamos ocasionalmente, pero ellos no pueden hacer SSH a nosotros.
5) No confíes en que OpenVPN haga la reconexión por ti en el extremo del cliente. 9 de cada 10 veces lo hará, pero a veces se bloquea. Tenga un proceso separado para restablecer/reiniciar openVPN en el extremo del cliente regularmente.
6) Necesitas una forma de generar claves únicas para los clientes para poder desautorizarlos a veces. Nosotros las generamos internamente con nuestro proceso de construcción del servidor (PXEboot). Nunca nos ha pasado, pero sabemos que podemos hacerlo.
7) Necesitará algunas herramientas de gestión, scripts para supervisar eficazmente las conexiones de su servidor VPN.
Lamentablemente, no hay mucho material sobre cómo hacer esto, pero es posible, con una configuración cuidadosa.
0 votos
¿Podría compartir con nosotros sus conclusiones finales al respecto? ¿Ha podido hacer pruebas con más de 5.000 usuarios?
0 votos
Hola Philipp, abandonamos el plan OpenVPN ya que estaba claro que tocaríamos un terreno que nadie había tocado antes. Optamos por una conexión TCP Socket normal basada en SSL a un servidor de gestión de conexiones Node.js.