DSL 라우터 뒤에 수백 개의 원격 연결을 "단지"로 사용하더라도 실제로이 작업을 수행했습니다. 나는 키 재조정 문제에 대해 너무 많이 언급 할 수 없지만 그 과정에서 배운 몇 가지 실용적인 것들 :
1) 클라이언트를 배포 할 때 클라이언트 conf, vpn1.example.com, vpn2.example.com, vpn3 ..에서 여러 VPN 서버를 지정해야합니다. 지금이 중 하나만 제공하더라도 너 자신 헤드 룸. 올바르게 구성된 클라이언트는 작동하는 클라이언트를 찾을 때까지 계속 무작위로 재 시도합니다.
2) 우리는 사용자 지정 AWS VPN 서버 이미지를 사용하고 필요시 추가 용량을 가동 할 수 있으며 Amazon DNS (R53)는 DNS 측면을 처리합니다. 우리 인프라의 나머지 부분과 완전히 분리되어 있습니다.
3) 서버 끝에서 넷 마스크를주의하여 사용하여 잠재적 클라이언트 수를 제한하십시오. 그러면 클라이언트가 대체 서버로 이동하여 CPU 문제가 완화됩니다. 서버를 300 명 정도의 클라이언트로 제한한다고 생각합니다. 이 선택은 우리에게 다소 임의적이었습니다. 원한다면 "거트 느낌"입니다.
4) 또한 서버 쪽에서도 방화벽을주의해서 사용해야합니다. 간단히 말해서, 우리는 클라이언트가 VPN 연결을 할 수 있도록 구성되었지만 서버는 알려진 IP 주소를 제외하고 모든 ssh 연결을 인바운드로 허용하지 않습니다. 우리는 때때로 필요한 경우 고객에게 SSH를 제공 할 수 있지만 고객은 SSH를 이용할 수 없습니다.
5) 클라이언트 측에서 다시 연결하는 OpenVPN에 의존하지 마십시오. 10 회 중 9 회가되지만 때로는 멈출 수 있습니다. 클라이언트 측에서 정기적으로 openVPN을 재설정 / 다시 시작하는 별도의 프로세스가 있어야합니다.
6) 클라이언트에 대해 고유 한 키를 생성하여 때때로 거부 할 수있는 방법이 필요합니다. 서버 빌드 (PXEboot) 프로세스를 사용하여 내부적으로 생성합니다. 우리에게 일어난 일은 없지만, 우리는 우리가 할 수 있다는 것을 알고 있습니다.
7) VPN 서버 연결을 효과적으로 모니터링하려면 몇 가지 관리 도구, 스크립트가 필요합니다.
불행히도이 작업을 수행하는 방법에 대한 자료는 많지 않지만 신중하게 구성하면 가능합니다.