본문으로 건너뛰기

VPN 관리

경로: /settings/vpn

외부에서 내부 네트워크에 안전하게 접속하기 위한 VPN 프로파일을 관리하는 페이지입니다. WireGuard 프로토콜을 사용하여 빠르고 안전한 연결을 제공합니다.

VPN 관리 화면

권한 안내

이 페이지에 접근할 수 없다면 기관 관리자에게 VPN 관리 권한을 요청하세요.


왜 VPN 관리가 필요한가요?

DevSecOps 환경에서는 개발자와 운영자가 외부에서 내부 시스템에 접근해야 하는 상황이 많습니다. KIWI의 VPN 관리 기능을 사용하면:

  • 안전한 원격 접속: 암호화된 터널을 통해 내부 네트워크에 안전하게 연결
  • 중앙 집중 관리: 여러 VPN 프로파일을 한 곳에서 관리하고 팀원에게 공유
  • 장비 연동: VPN 프로파일을 특정 장비와 연결하여 자동화된 접근 제어
  • 다중 세션 지원: 여러 VPN에 동시 연결하여 복잡한 네트워크 환경 지원

VPN이란?

VPN(Virtual Private Network, 가상 사설망)은 인터넷을 통해 안전하게 내부 네트워크에 접속할 수 있게 해주는 기술입니다. 쉽게 말해, 외부에서도 마치 사무실 안에 있는 것처럼 내부 시스템에 접근할 수 있습니다.

지원 VPN 타입

KIWI에서 지원하는 VPN 프로토콜입니다.

  • WireGuard (지원): 현대적이고 빠른 VPN 프로토콜입니다. 코드가 간결하여 보안 검증이 쉽고, 모바일 환경에서도 배터리 효율이 좋습니다. KIWI에서 기본으로 사용하는 프로토콜입니다.
  • OpenVPN (추후 지원): 오래되고 검증된 프로토콜입니다. 다양한 환경에서 사용 가능합니다.
  • IPSec (추후 지원): 기업 환경에서 많이 사용되는 표준 프로토콜입니다.
WireGuard를 선택하는 이유

WireGuard는 4,000줄 미만의 코드로 구성되어 있어 보안 감사가 쉽고, OpenVPN보다 최대 3배 빠른 성능을 제공합니다. 연결 전환 시에도 끊김 없이 동작하여 모바일 환경에 적합합니다.


주요 기능

프로파일 관리

VPN 연결 정보를 프로파일 형태로 저장하고 관리합니다.

  • 프로파일 등록: 새 VPN 연결 정보를 저장합니다. 서버 주소, 인증 키 등을 입력하여 프로파일을 생성합니다.
  • 프로파일 수정: 기존 프로파일의 정보를 변경합니다. 현재 연결 중인 프로파일은 수정할 수 없습니다.
  • 프로파일 삭제: 더 이상 필요 없는 프로파일을 제거합니다.
  • 검색 및 필터: 이름, 서버 주소로 프로파일을 검색하고 타입/상태별로 필터링합니다.

연결 관리

VPN 세션을 연결하고 해제합니다.

  • 세션 연결: 선택한 프로파일로 VPN 연결을 시작합니다. 연결되면 해당 네트워크에 접근할 수 있습니다.
  • 세션 해제: 활성화된 VPN 연결을 종료합니다.
  • 연결 테스트: 실제 연결 전에 프로파일 설정이 올바른지 확인합니다.
  • 다중 세션: 여러 VPN에 동시에 연결할 수 있습니다. 각 프로파일별로 독립적인 세션을 유지합니다.

장비 연동

VPN 프로파일을 특정 장비와 연결하여 관리합니다.

  • 장비 연결: VPN 프로파일에 장비를 연결합니다. 연결된 장비는 해당 VPN을 통해 접근됩니다.
  • 연결 장비 확인: 각 프로파일에 몇 개의 장비가 연결되어 있는지 확인합니다.
  • 연결 해제: 장비와 VPN 프로파일의 연결을 해제합니다.

UI 구성

VPN 관리 페이지의 구성요소를 설명합니다.

통계 카드

페이지 상단에 VPN 현황을 한눈에 파악할 수 있는 통계 정보가 표시됩니다.

  • 전체 프로파일: 등록된 총 VPN 프로파일 수
  • 연결됨: 현재 활성화된 VPN 연결 수
  • 미연결: 연결되지 않은 프로파일 수
  • 타입별 현황: WireGuard, OpenVPN 등 타입별 프로파일 수

프로파일 목록

등록된 VPN 프로파일들이 테이블 형태로 표시됩니다.

  • 프로파일 이름: 프로파일을 식별하는 이름과 설명
  • VPN 타입: WireGuard, OpenVPN, IPSec 등
  • 상태: 연결됨, 미연결, 연결 중, 오류 등 현재 상태
  • 서버: VPN 서버 주소와 포트
  • 인증: 사용하는 인증 방식 (인증서, PSK, 사용자명 등)
  • 연결 장비: 이 프로파일에 연결된 장비 수
  • 마지막 연결: 가장 최근에 연결한 시간
  • 작업: 연결/해제, 테스트, 수정, 삭제 버튼

사용 방법

1. VPN 프로파일 등록하기

새로운 VPN 연결을 등록하는 방법입니다.

Step 1: 프로파일 추가 시작

  1. [VPN 관리] 페이지로 이동합니다.
  2. 우측 상단의 VPN 프로파일 추가 버튼을 클릭합니다.

Step 2: 기본 정보 입력

  • 프로파일 이름 (필수): 식별 가능한 이름입니다. 예: "개발 서버 VPN"
  • VPN 타입 (필수): 현재는 WireGuard만 지원합니다.
  • 설명 (선택): 프로파일에 대한 설명입니다. 예: "개발팀 내부망 접속용"

Step 3: 서버 정보 입력

  • 서버 주소 (필수): VPN 서버의 IP 또는 도메인입니다. 예: vpn.example.com
  • 포트 (필수): VPN 서버 포트입니다. WireGuard 기본값은 51820입니다.
기본 포트 번호
  • WireGuard: 51820
  • OpenVPN: 1194
  • IPSec: 500

VPN 서버 설정에 따라 다른 포트를 사용할 수 있으니, 관리자에게 확인하세요.

Step 4: WireGuard 키 설정

WireGuard는 공개키 암호화를 사용합니다. 클라이언트 설정 파일(.conf)에서 필요한 값을 복사합니다.

  • 개인 키 (필수): 클라이언트의 비밀 키입니다. [Interface] 섹션의 PrivateKey 값을 입력합니다.
  • 피어 공개키 (필수): VPN 서버의 공개 키입니다. [Peer] 섹션의 PublicKey 값을 입력합니다.
  • PSK (선택): 추가 보안을 위한 사전 공유 키입니다. [Peer] 섹션의 PresharedKey 값이 있다면 입력합니다.
WireGuard 설정 파일 예시
[Interface]
PrivateKey = 0HnoZ8QFjhjkqS707ZfTZSErFOs02B9QFcGqVBPGO2Y= # ← 개인 키
Address = 10.13.13.2/32

[Peer]
PublicKey = 4uGS1h6VhsWuQCEuVmqUu8X3fov5ziWXmhSFG9l1UR4= # ← 피어 공개키
PresharedKey = k+biOyIx8IEEnGDbjATWKpSIEMKsVMlCdV6ofYYwbKQ= # ← PSK (선택)
Endpoint = vpn.example.com:51820
AllowedIPs = 10.13.13.0/24

Step 5: 네트워크 설정 (선택)

  • Allowed IPs: VPN을 통해 라우팅할 IP 대역입니다. 예: 10.13.13.0/24, 10.100.0.0/24
  • Keepalive (초): NAT 환경에서 연결을 유지하기 위한 패킷 전송 간격입니다. 기본값 25초를 권장합니다.

Step 6: 저장 설정을 검토하고 추가 버튼을 클릭합니다.


2. VPN 연결하기

등록된 프로파일로 VPN에 연결하는 방법입니다.

  1. 프로파일 목록에서 연결할 프로파일을 찾습니다.
  2. 해당 행의 연결 버튼(재생 아이콘)을 클릭합니다.
  3. 연결이 성공하면 상태가 세션 활성으로 변경됩니다.
  4. 이제 해당 VPN 네트워크에 접근할 수 있습니다.
연결 전 확인사항
  • 인터넷 연결이 정상인지 확인하세요
  • 방화벽에서 VPN 포트가 차단되어 있지 않은지 확인하세요
  • 프로파일의 키 정보가 올바른지 확인하세요

3. VPN 연결 해제하기

활성화된 VPN 연결을 종료하는 방법입니다.

  1. 프로파일 목록에서 연결된 프로파일(세션 활성 상태)을 찾습니다.
  2. 해당 행의 연결 해제 버튼(정지 아이콘)을 클릭합니다.
  3. 연결이 해제되면 상태가 미연결로 변경됩니다.

4. 연결 테스트하기

실제 연결 전에 프로파일 설정이 올바른지 확인합니다.

  1. 테스트할 프로파일의 테스트 버튼(새로고침 아이콘)을 클릭합니다.
  2. 테스트 모달이 열리고 연결 검증이 진행됩니다.
  3. 테스트 결과를 확인합니다:
    • 성공: 프로파일 설정이 올바르며 연결 가능합니다.
    • 실패: 오류 메시지를 확인하고 설정을 수정합니다.

5. 장비 연결하기

VPN 프로파일에 장비를 연결하여 해당 VPN을 통해 장비에 접근하도록 설정합니다.

  1. 프로파일 목록에서 연결 장비 열의 숫자를 클릭합니다.
  2. 장비 연결 관리 모달이 열립니다.
  3. 연결할 장비를 검색하고 선택합니다.
  4. 연결 버튼을 클릭합니다.
  5. 연결된 장비는 해당 VPN을 통해 접근됩니다.

6. 프로파일 수정하기

기존 프로파일의 설정을 변경합니다.

  1. 수정할 프로파일의 수정 버튼(연필 아이콘)을 클릭합니다.
  2. 프로파일 수정 모달에서 필요한 정보를 변경합니다.
  3. 수정 버튼을 클릭하여 저장합니다.
수정 제한

현재 VPN에 연결 중인 프로파일은 수정할 수 없습니다. 먼저 연결을 해제한 후 수정하세요.


7. 프로파일 삭제하기

더 이상 필요 없는 프로파일을 제거합니다.

  1. 삭제할 프로파일의 삭제 버튼(휴지통 아이콘)을 클릭합니다.
  2. 확인 대화상자에서 삭제를 클릭합니다.
  3. 프로파일이 삭제됩니다.
삭제 시 주의
  • 연결 중인 프로파일도 삭제할 수 있으나, 연결이 즉시 종료됩니다.
  • 해당 프로파일에 연결된 장비의 VPN 연결도 함께 해제됩니다.
  • 삭제된 프로파일은 복구할 수 없습니다.

연결 상태

VPN 프로파일의 상태를 설명합니다.

  • 세션 활성: 현재 VPN에 연결되어 있습니다. 해당 네트워크에 접근할 수 있습니다.
  • 연결됨: 서버와 연결 가능한 상태입니다. 세션을 시작하면 바로 연결됩니다.
  • 연결 중: 연결을 시도하고 있습니다. 잠시 기다려주세요.
  • 미연결: 연결되어 있지 않습니다. 연결 버튼을 눌러 연결할 수 있습니다.
  • 오류: 연결에 문제가 발생했습니다. 설정을 확인하고 다시 시도하세요.

권한 설명

VPN 관리에 필요한 권한을 설명합니다.

  • vpn:create: 새 VPN 프로파일을 생성할 수 있습니다.
  • vpn:update: 기존 프로파일을 수정할 수 있습니다.
  • vpn:delete: 프로파일을 삭제할 수 있습니다.
  • vpn:connect: VPN 연결/해제를 수행할 수 있습니다.
  • vpn:test: 연결 테스트를 실행할 수 있습니다.
권한이 없을 때

권한이 없는 기능의 버튼은 비활성화되거나 표시되지 않습니다. 필요한 권한은 기관 관리자에게 요청하세요.


문제 해결

연결 실패

  • 서버 주소/포트 확인: VPN 서버 정보가 정확한지 확인하세요
  • 키 정보 확인: 개인 키와 피어 공개키가 올바른지 확인하세요
  • 방화벽 확인: VPN 포트(기본 51820)가 방화벽에서 허용되어 있는지 확인하세요
  • 네트워크 확인: 인터넷 연결이 정상인지 확인하세요

연결은 됐지만 내부 시스템에 접근 불가

  • Allowed IPs 확인: 접근하려는 IP 대역이 Allowed IPs에 포함되어 있는지 확인하세요
  • 라우팅 확인: VPN 서버에서 해당 대역으로의 라우팅이 설정되어 있는지 확인하세요
  • 내부 방화벽 확인: 내부 시스템의 방화벽에서 VPN 대역 접근이 허용되어 있는지 확인하세요

연결이 자주 끊김

  • Keepalive 설정: NAT 환경에서는 Keepalive를 25초로 설정하세요
  • 네트워크 상태: 불안정한 네트워크 환경에서는 끊김이 발생할 수 있습니다.
  • 서버 상태: VPN 서버 상태를 관리자에게 확인하세요

용어 설명

처음 접하는 용어들을 쉽게 설명합니다.

  • VPN (Virtual Private Network): 공용 네트워크를 통해 사설 네트워크에 안전하게 접속하는 기술입니다.
  • WireGuard: 빠르고 현대적인 VPN 프로토콜입니다. 간결한 코드로 보안성이 높습니다.
  • 피어 (Peer): VPN 연결의 상대방입니다. 클라이언트 입장에서 서버가 피어가 됩니다.
  • 공개키/개인키: 암호화에 사용되는 키 쌍입니다. 개인키는 절대 공유하면 안 되고, 공개키는 상대방에게 전달합니다.
  • PSK (Pre-Shared Key): 추가 보안을 위한 사전 공유 비밀 키입니다.
  • Allowed IPs: VPN 터널을 통해 전송할 IP 대역입니다. 이 대역으로의 트래픽만 VPN을 통해 전송됩니다.
  • Keepalive: NAT 환경에서 연결을 유지하기 위해 주기적으로 보내는 패킷입니다.
  • NAT (Network Address Translation): 사설 IP를 공인 IP로 변환하는 기술입니다. 대부분의 가정/사무실 네트워크에서 사용됩니다.

베스트 프랙티스

안전하고 효율적인 VPN 관리를 위한 권장 사항입니다.

보안 권장사항
  • 키 관리: 개인 키는 안전하게 보관하고 절대 공유하지 마세요
  • 정기 갱신: 보안을 위해 키를 정기적으로 갱신하세요
  • 최소 권한: 필요한 IP 대역만 Allowed IPs에 추가하세요
  • 연결 종료: 사용하지 않을 때는 VPN 연결을 해제하세요
운영 권장사항
  • 프로파일 명명: 용도를 알 수 있는 명확한 이름을 사용하세요 (예: "개발서버-VPN", "DB서버-접속용")
  • 설명 작성: 프로파일의 용도와 연결 대상을 설명에 기록하세요
  • 테스트 우선: 새 프로파일 등록 후 연결 테스트를 먼저 실행하세요
  • 장비 연동: 자주 접속하는 장비는 VPN 프로파일과 연결해두세요

관련 가이드