Eu realmente fiz isso, embora com "apenas" algumas centenas de conexões remotas da mesma forma atrás de roteadores DSL. Não posso comentar muito sobre as questões de rekeying, mas algumas coisas práticas que aprendi ao longo do caminho:
1) Ao implantar clientes, especifique vários servidores VPN na conf client, vpn1.example.com, vpn2.example.com, vpn3 ..... Mesmo se você fornecer apenas um ou dois deles agora, você fornece você mesmo espaço. Configurados corretamente, os clientes continuarão repetindo-os aleatoriamente até encontrar um que funcione.
2) Usamos uma imagem personalizada do servidor VPN da AWS e podemos aumentar a capacidade sob demanda, e o Amazon DNS (R53) lida com o lado do DNS. É completamente separado do restante de nossa infraestrutura.
3) No final do servidor, faça um uso cuidadoso da máscara de rede para restringir o número de clientes em potencial. Isso deve forçar os clientes a um servidor alternativo, mitigando os problemas de CPU. Acho que limitamos nossos servidores a mais ou menos 300 clientes. Essa escolha foi um tanto arbitrária da nossa parte - "instinto", se quiser.
4) Também no final do servidor, você deve fazer uso cuidadoso de firewalls. Em termos simples, temos o nosso configurado para que os clientes possam conectar-se à VPN, mas os servidores proíbem estritamente todas as conexões ssh de entrada, exceto um endereço IP conhecido. Podemos fazer o SSH para os clientes, se precisarmos ocasionalmente, eles não podem fazer o SSH para nós.
5) Não confie no OpenVPN para reconectar você no final do cliente. 9 vezes em 10, mas às vezes fica preso. Tenha um processo separado para redefinir / reiniciar o openVPN no final do cliente regularmente.
6) Você precisa de uma maneira de gerar chaves exclusivas para os clientes, para poder rejeitá-las às vezes. Nós os geramos internamente com nosso processo de criação de servidor (PXEboot). Nunca aconteceu conosco, mas sabemos que podemos fazê-lo.
7) Você precisará de algumas ferramentas de gerenciamento, scripts para monitorar efetivamente as conexões do servidor VPN.
Infelizmente, não há muito material sobre como fazer isso, mas é possível, com uma configuração cuidadosa.