De hecho, he hecho esto, aunque con "solo" unos pocos cientos de conexiones remotas de manera similar detrás de los enrutadores DSL. No puedo comentar demasiado sobre los problemas de rekekeing, pero aprendí algunas cosas prácticas en el camino:
1) Al implementar clientes, asegúrese de especificar varios servidores VPN en la configuración del cliente, vpn1.example.com, vpn2.example.com, vpn3 ..... Incluso si solo proporciona uno o dos de estos ahora, usted da usted mismo espacio para la cabeza. Configurados correctamente, los clientes seguirán reintentándolos al azar hasta que encuentren uno que funcione.
2) Utilizamos una imagen personalizada del servidor VPN de AWS, y podemos aumentar la capacidad adicional bajo demanda, y Amazon DNS (R53) maneja el lado DNS de las cosas. Está completamente separado del resto de nuestra infraestructura.
3) Al final del servidor (s), haga un uso cuidadoso de la máscara de red para restringir el número de clientes potenciales. Eso debería forzar a los clientes a un servidor alternativo, mitigando los problemas de la CPU. Creo que limitamos nuestros servidores a aproximadamente 300 clientes. Esta elección fue algo arbitraria de nuestra parte: "instinto" si lo desea.
4) También en el extremo del servidor, debe hacer un uso cuidadoso de los firewalls. En términos simples, tenemos el nuestro configurado de tal manera que los clientes pueden conectarse mediante VPN, pero los servidores no permiten estrictamente todas las conexiones ssh entrantes, excepto desde una dirección IP conocida. Podemos enviar SSH a los clientes si ocasionalmente lo necesitamos, ellos no pueden enviarnos SSH.
5) No confíe en que OpenVPN realice la reconexión por usted en el extremo del cliente. 9 de cada 10 veces lo hará, pero a veces se atasca. Tenga un proceso separado para restablecer / reiniciar openVPN en el extremo del cliente regularmente.
6) Necesita una forma de generar claves únicas para los clientes para que pueda rechazarlas a veces. Los generamos internamente con nuestro proceso de compilación del servidor (PXEboot). Nunca nos sucedió, pero sabemos que podemos hacerlo.
7) Necesitará algunas herramientas de administración, scripts para monitorear las conexiones de su servidor VPN de manera efectiva.
Desafortunadamente, no hay mucho material sobre cómo hacer esto, pero es posible, con una configuración cuidadosa.