장애 조치 및 복제 기능을 갖춘 두 개의 OpenVPN을 구현할 수 있습니까? 마찬가지로 하나가 다운/실패하면 인증, 서버/클라이언트 구성 등에 다른 하나를 사용할 수 있습니다.
답변1
대포에서 파리까지 쏘는 이유를 이해하지 못했습니다. IHMO에는 더 간단한 방법이 있습니다. 내장된 OpenVPN 기능을 사용하고 다중 경로 중복성을 위해 Linux iproute2를 사용하는 것입니다. 나는 더 안전하고, 더 안정적이며, 더 적은 자원을 소비할 것입니다.
원천:https://openvpn.net/index.php/open-source/documentation/howto.html
부하 분산/장애 조치 구성 클라이언트 구현
OpenVPN 클라이언트 구성은 로드 밸런싱 및 장애 조치를 위해 여러 서버를 참조할 수 있습니다. 예를 들어:
remote server1.mydomain
remote server2.mydomain
remote server3.mydomain
OpenVPN 클라이언트에 server1, server2, server3 순서대로 연결을 시도하도록 지시합니다. 기존 연결이 끊어지면 OpenVPN 클라이언트는 가장 최근에 연결된 서버를 다시 시도하고, 실패할 경우 목록의 다음 서버로 이동합니다. 또한 OpenVPN 클라이언트가 시작 시 서버 목록을 무작위로 지정하도록 지시하여 클라이언트 로드가 확률적으로 서버 풀 전체에 분산되도록 할 수도 있습니다.
remote-random
DNS 확인 실패로 인해 OpenVPN 클라이언트가 목록의 다음 서버로 이동하게 하려면 다음을 추가하세요.
resolv-retry 60
60 매개변수는 OpenVPN 클라이언트에게 목록의 다음 서버로 이동하기 전에 60초 동안 각 원격 DNS 이름을 확인하도록 지시합니다.
서버 목록은 동일한 시스템에서 실행되는 여러 OpenVPN 서버 데몬을 참조할 수도 있으며, 각각은 서로 다른 포트에서 연결을 수신합니다. 예:
remote smp-server1.mydomain 8000
remote smp-server1.mydomain 8001
remote smp-server2.mydomain 8000
remote smp-server2.mydomain 8001
서버가 다중 프로세서 시스템인 경우 각 서버에서 여러 OpenVPN 데몬을 실행하는 것이 성능 측면에서 유리할 수 있습니다.
OpenVPN은 또한 도메인의 영역 구성에 여러 A 레코드가 있는 DNS 이름을 참조하는 원격 지시문을 지원합니다. 이 경우 OpenVPN 클라이언트는 도메인이 확인될 때마다 A 레코드 중 하나를 무작위로 선택합니다. 섬기는 사람
서버의 부하 분산/장애 조치 구성에 대한 가장 간단한 접근 방식은 각 서버에 대해 서로 다른 가상 IP 주소 풀을 사용하는 것을 제외하고 클러스터의 각 서버에서 동일한 구성 파일을 사용하는 것입니다. 예를 들어:
서버1
server 10.8.0.0 255.255.255.0
서버2
server 10.8.1.0 255.255.255.0
서버3
server 10.8.2.0 255.255.255.0
답변2
장애 조치? 예, 저는 하트비트와 CRM을 사용하여 항상 그렇게 합니다. 상태를 복제하거나 보존하는 것은 가치가 없습니다. 장애 조치(failover)가 발생하면 연결된 모든 클라이언트는 어쨌든 재인증을 받게 되며 이는 이동 중에도 괜찮습니다. 사이트 간 VPN에는 적합하지 않지만 (imho) OpenVPN은 어쨌든 이러한 도구에는 잘못된 도구입니다.