Zrobiłem to, aczkolwiek „tylko” kilkaset zdalnych połączeń podobnie za routerami DSL. Nie mogę komentować zbyt wiele na temat problemów z odtwarzaniem, ale kilka praktycznych rzeczy nauczyłem się po drodze:
1) Wdrażając klientów, upewnij się, że podałeś wiele serwerów VPN w pliku conf klienta, vpn1.example.com, vpn2.example.com, vpn3 ..... Nawet jeśli podasz tylko jeden lub dwa z nich, dajesz nad głową. Odpowiednio skonfigurowani klienci będą próbować je losowo, dopóki nie znajdą takiego, który działa.
2) Używamy niestandardowego obrazu serwera AWS VPN i możemy zwiększać pojemność na żądanie, a Amazon DNS (R53) obsługuje stronę DNS rzeczy. Jest całkowicie oddzielony od reszty naszej infrastruktury.
3) Na końcu serwera (serwerów) ostrożnie korzystaj z maski sieci, aby ograniczyć liczbę potencjalnych klientów. Powinno to zmusić klientów do alternatywnego serwera, łagodząc problemy z procesorem. Myślę, że ograniczamy nasze serwery do około 300 klientów. Ten wybór był z naszej strony nieco arbitralny - jeśli masz ochotę, „czujesz przeczucie”.
4) Również po stronie serwera powinieneś ostrożnie korzystać z zapór ogniowych. Mówiąc najprościej, mamy skonfigurowane tak, aby klienci mogli się łączyć VPN, ale serwery surowo zabraniają przychodzących połączeń ssh z wyjątkiem znanego adresu IP. Możemy SSH do klientów, jeśli czasami musimy, nie mogą nam SSH do nas.
5) Nie polegaj na tym, że OpenVPN wykona dla ciebie ponowne połączenie po stronie klienta. 9 razy na 10 tak będzie, ale czasem się zacina. Oddzielny proces regularnego resetowania / restartowania openVPN po stronie klienta.
6) Potrzebujesz sposobu generowania unikatowych kluczy dla klientów, aby móc je czasem zrzec. Generujemy je wewnętrznie w procesie kompilacji serwera (PXEboot). Nigdy nam się nie zdarzyło, ale wiemy, że możemy to zrobić.
7) Potrzebujesz skutecznych narzędzi do zarządzania, skryptów do skutecznego monitorowania połączeń z serwerem VPN.
Niestety nie ma zbyt wiele materiałów na temat tego, jak to zrobić, ale jest to możliwe przy ostrożnej konfiguracji.