我实际上已经做到了这一点,尽管在DSL路由器后面也只有“数百个”远程连接。关于密钥更新问题,我不能过多评论,但是我在此过程中学到了一些实际的知识:
1)部署客户端时,请确保在客户端conf,vpn1.example.com,vpn2.example.com,vpn3 .....中指定多个VPN服务器。即使您现在仅提供其中一个或两个,您也可以自己的净空。配置正确后,客户端将继续随机重试它们,直到找到有效的客户端为止。
2)我们使用自定义的AWS VPN服务器映像,并且可以按需增加额外的容量,而Amazon DNS(R53)处理DNS方面的事情。它与我们的其他基础架构完全分离。
3)在服务器端,请仔细使用网络掩码以限制潜在客户端的数量。这应该将客户端强制到替代服务器上,从而减轻了CPU问题。我认为我们将服务器限制为300个左右的客户端。对于我们来说,这种选择有些武断-如果您愿意,可以有“胆量”。
4)同样在服务器端,您应仔细使用防火墙。简单来说,我们已经配置好了客户端可以通过VPN连接的方式,但是服务器严格禁止所有ssh连接入站,只有已知IP地址除外。如果偶尔需要,我们可以SSH到客户端,而客户端不能SSH。
5)不要依赖OpenVPN在客户端为您进行重新连接。10次中有9次会出现,但有时会卡住。有单独的过程定期在客户端重置/重新启动openVPN。
6)您需要一种为客户端生成唯一密钥的方法,以便有时可以拒绝它们。我们通过服务器构建(PXEboot)程序在内部生成这些文件。我们从未发生过,但我们知道我们可以做到。
7)您将需要一些管理工具,脚本来有效监视您的VPN服务器连接。
不幸的是,关于如何执行此操作的材料并不多,但是有可能经过精心配置。