홈으로 돌아가기

ocservice for ocserv: CLI를 통한 VPN 관리

ocservice는 easy-rsa 통합 bash 스크립트를 통해 ocserv VPN 관리를 자동화합니다. cert/plain 인증, .p12 생성, cert 취소, user-center 지원. Docker 없이 설치, 최소 종속성.

ocservice: ocserv VPN용 CLI 관리자
Advertisement 728x90

ocservice: ocserv VPN 서버 자동화를 위한 CLI 도구

ocservice는 ocserv VPN 서버의 운영 관리를 위한 일련의 bash 스크립트입니다. 이 도구는 PKI 작업을 위해 easy-rsa와 통합되어 클라이언트 인증서 생성, 폐기 및 CRL 업데이트를 자동화합니다. Docker나 데이터베이스와 같은 추가 서비스 없이 cert, plain 및 both 인증 모드를 지원합니다.

스크립트는 명령줄에서 실행되며, 메인 메뉴가 호출될 때마다 서버 상태(가동 시간, 세션, 트래픽, 오류)를 표시합니다. 이로써 별도의 occtl 명령 없이도 모니터링이 간소화됩니다.

주요 기능

주 스크립트 ocservice는 현재 상태를 보여주는 메뉴를 제공합니다: 활성 세션, RX/TX 트래픽, 차단된 IP, 인증 오류.

Google AdInline article slot

클라이언트 인증서 생성

gen-client는 인증서를 가진 사용자를 생성합니다:

  • 이름, 유효 기간, 연결 제한을 입력받습니다.
  • easy-rsa를 통해 인증서를 생성합니다.
  • 비밀번호와 함께 .p12로 내보냅니다.
  • 클라이언트 전달을 위한 데이터를 기록합니다.

비밀번호 사용자

gen-login은 ocpasswd를 사용하여 plain 모드에서 계정을 생성합니다. 비밀번호 인증이 활성화된 경우에만 사용 가능합니다.

사용자 관리 센터

user-center는 표를 표시합니다:

Google AdInline article slot

| 사용자 | 온라인 | 인증서 만료 | 차단 점수 | 제한 |

|--------|--------|-------------|------------|-------|

각 사용자에 대해:

Google AdInline article slot
  • 연결 세부 정보.
  • 사용자별 설정 편집.
  • 세션 강제 종료.
  • 차단 점수 초기화.
  • 인증서 폐기 및 CRL 업데이트와 함께 삭제.

설치 및 설정

저장소를 복제하고 설치 프로그램을 실행하세요:

git clone https://github.com/Ilyntiy/ocservice.git
cd ocservice
chmod +x install.sh
sudo ./install.sh

설치 프로그램은:

  • ocserv.conf에서 경로(ocpasswd, config-per-user)를 파싱합니다.
  • 위장 URL이 활성화된 경우 이를 식별합니다.
  • 설치 접두사, 인증 모드, 서버 주소를 입력받습니다.
  • ocservice.conf를 생성합니다.
  • 스크립트를 ~/bin/에 복사합니다.
  • occtl, ocpasswd, journalctl, systemctl에 대한 권한으로 /etc/sudoers.d/ocservice를 구성합니다.

기술적 구현

설정

단일 ocservice.conf가 각 실행 시 소스됩니다. 임의의 ocserv 경로(/opt, 홈 디렉토리)를 지원합니다.

권한

필요한 명령에 대해서만 최소한의 sudo 규칙을 적용하며, 전체 루트 액세스 없이 작동합니다.

위장

ocserv.conf에서 camouflage_secret을 자동으로 읽어 토큰이 포함된 URL을 생성합니다.

PKI 작업

  • 인증서 폐기: easyrsa revoke.
  • CRL 업데이트: easyrsa gen-crl.
  • ocserv는 pki/에서 crl.pem을 직접 읽습니다.

시스템 요구사항

  • 소스에서 설치한 ocserv.
  • easy-rsa 3.x.
  • openssl.
  • ocserv.conf에서 use-occtl = true.

개발 계획

  • 데이터베이스에서 이름 자동 생성.
  • 설정, 인증서, 사용자 백업.
  • 재생성 없이 인증서 갱신.
  • 만료 알림.
  • 관리를 위한 텔레그램 봇.

핵심 포인트

  • easy-rsa와 완전 통합: 수동 명령 없이 .p12 생성, 폐기, CRL 관리.
  • 추가 인프라 없이 세 가지 인증 모드 지원.
  • 메뉴에 서버 상태 표시, 사용자 센터에서 작업(강제 종료, 설정 편집) 가능.
  • 자동 sudo 설정과 함께 4개의 명령으로 설치.
  • Docker/데이터베이스 없이 표준 도구만 사용.

— Editorial Team

Advertisement 728x90

다음 읽기