프로필은 옮겨지지만 사용자 목록은 남습니다. Access Server와 Community Edition 사이를 전환하는 팀은 컷오버 한 시간 후에 그 간극을 마주합니다. 첫 클라이언트가 인증한 뒤에도 그룹 정책도, 사용자별 경로도, 셀프서비스 비밀번호 재설정도 없기 때문입니다. 두 제품은 같은 프로토콜을 사용하고 같은 클라이언트를 받아들이므로, 계획 단계에서는 이 간극이 보이지 않습니다. 실제로 선택하는 것은 관리 계층과 그것을 소유한 사람들입니다.

결정을 기능표가 아니라 재고 조사 질문으로 다루십시오. 누가 사용자를 만들고, 누가 인증서를 폐기하며, 02:00에 누가 전화를 받는지 물으십시오.

.ovpn 파일이 설정을 담지 않는 이유

.ovpn 프로필은 한 클라이언트와 한 서버의 관계를 설명합니다. 원격 호스트, 프로토콜, CA, 클라이언트 인증서와 키, 그리고 인라인 tls-crypt 자료입니다. 그 파일을 새 빌드에 넣어도 클라이언트는 여전히 핸드셰이크를 완료하므로 이전이 끝난 것처럼 보입니다. 그러나 그 안에는 사용자, 그룹, 정적 경로, 누구에게 연결을 허용할지 결정한 정책이 하나도 나열되지 않습니다. 그 기록은 서버 자체의 저장소에 살며, 두 제품은 서로 다른 형태로 보관합니다.

Community Edition에서는 대응물이 직접 보관하는 파일입니다. 클라이언트별 ifconfig-push 및 iroute 같은 옵션을 담은 client-config-dir 항목, 폐기를 위한 CRL, 그리고 tls-crypt 키입니다. Access Server는 같은 개념을 자체 데이터베이스에 보관하고 웹 콘솔과 sacli 명령줄 도구로 노출합니다. 개념은 일대일로 대응하지만 산출물은 전혀 옮겨지지 않습니다.

프로필은 바뀌기 전에는 아무도 알아채지 못하는 동작도 몰래 들여옵니다. redirect-gateway def1가 있는 클라이언트는 모든 탐색을 서버를 통해 보냅니다. 그 줄이 없는 빌드로 옮기면 인터넷이 끊겼다는 항의가 나옵니다. CA 불일치나 잘못된 remote-cert-tls 설정은 요란하게 실패하는데, 그것이 좋은 결과입니다. tls-crypt 키 누락은 조용한 타임아웃으로 실패하는데, 그것은 좋지 않습니다.

관리 계층이 소유하는 것

프로토콜이 아닌 것을 세십시오. 계정 생성, 비밀번호 재설정, 그룹 할당, MFA 등록, 연결 권한, 그리고 누가 언제 연결했는지 답하는 감사 추적입니다. Community Edition은 이 중 어느 것도 직접 제공하지 않습니다. 인증 백엔드를 고르고, 플러그인이나 auth-user-pass-verify로 PAM, LDAP 또는 RADIUS를 연결하고, 나머지는 직접 유지합니다. Access Server는 사용자 포털, 관리 콘솔, 일반적인 ID 공급자와의 통합을 제공합니다. 어느 구성도 기본적으로 더 안전하지는 않습니다. 정책은 여전히 네트워크를 아는 사람이 작성해야 하기 때문입니다.

권한이 가장 날카로운 운영 차이입니다. Access Server는 동시 연결 수로 라이선스되며 그 수를 소프트웨어로 강제합니다. Community Edition에서는 전역 상한이 max-clients 한 줄이고, 사용자별이나 그룹별로 무엇이든 하려면 client-config-dir 작업이 늘어나고 직접 강제해야 합니다. 그 유지보수를 감당할 생각이 없는 팀은 상용 제품에 비용을 지불할 때 바로 그것을 사는 것입니다.

라이선스와 지원: 아무도 예산에 넣지 않는 항목

Community Edition은 무료이며 오픈 소스입니다. Access Server는 상용이며, 무료 등급은 역사적으로 소수의 동시 연결을 포함했고 그 이상은 유료 라이선스입니다. 오래된 포럼 답변에 인용된 숫자는 이제 낡았으므로, 프로젝트 비용을 산정하기 전에 공급업체의 현재 조건을 확인하십시오. 정직한 비교는 커뮤니티 쪽에서 사용자 관리, MFA, 모니터링을 구축하는 데 든 시간을 상용 쪽의 라이선스 항목에 더합니다.

지원 소유권도 같은 분담을 따릅니다. Community Edition에서는 이상한 클라이언트와 모든 커널 업데이트에 대한 에스컬레이션 경로가 바로 여러분입니다. Access Server에서는 전화할 공급업체가 있고, 변경 창에 맞든 맞지 않든 그 릴리스 주기를 물려받습니다.

컷오버 전에 실행할 점검

어느 방향으로든 컷오버하기 전에 실행 중인 서버가 실제로 무엇을 보관하는지 재고 조사하십시오. Access Server 쪽에서는 사용자 목록과 그룹 할당을 내보내고 어떤 계정이 MFA에 의존하는지 기록하십시오. Community Edition 쪽에서는 발급된 인증서, CRL, client-config-dir 아래의 모든 파일을 나열하십시오. 두 목록을 줄마다 비교하십시오. 그 차이가 곧 이전 작업입니다.

옛 서비스가 아직 실행 중일 때 대표 클라이언트를 시험하십시오. openvpn --config client.ovpn --verb 4를 포그라운드에서 실행하면 핸드셰이크, 푸시된 경로, DNS 옵션이 출력되고, openssl x509 -in client.crt -noout -subject -enddate는 클라이언트가 실제로 제시하는 인증서를 보여 줍니다. 연결되지만 내부 호스트에 도달하지 못하는 클라이언트는 인증 실패가 아니라 경로나 iroute의 간극이 있습니다.

교체가 성공 테스트뿐 아니라 거부된 접근 테스트도 통과할 때까지 옛 복구 경로를 살려 두십시오. 최종 지도를 한 페이지에 적으십시오. 각 요구 사항, 오늘 그것을 충족하는 산출물, 나중에 충족할 산출물입니다.

관련 글