VPN(Virtual Private Network)은 공용 네트워크 위에 논리적으로 신뢰 가능한 터널을 만들어, 원격 클라이언트나 원격 사이트가 내부 자원에 안전하게 접근하도록 하는 기술이다. 핵심은 기밀성, 무결성, 상호 인증, 라우팅 제어 네 가지다. 터널이 맺어졌다는 것은 핸드셰이크가 성공했다는 뜻일 뿐이며, 내부망 접근이 되려면 클라이언트 경로 · 서버 방화벽 · 내부망 리턴 경로가 모두 맞아야 한다.
| 모델 | 설명 | 용도 |
|---|---|---|
| Road Warrior | 개별 단말이 외부에서 사내망으로 접속한다 | 재택 · 출장 · 모바일 원격접속 |
| Site-to-Site | 두 개 이상의 네트워크를 게이트웨이 간 터널로 잇는다 | 지사 연동 · 데이터센터 간 연결 |
가상 인터페이스는 L3(IP) 기반 TUN 과 L2(Ethernet) 기반 TAP 이 있다. 브리지 구성이 필요한 특수 목적이 아니면 TUN 이 단순하다.
| 요소 | 내용 |
|---|---|
| 키 교환 | Diffie-Hellman · ECDHE (TLS 계열), Curve25519 (WireGuard) — ephemeral 키로 PFS 를 얻는다 |
| 대칭 암호 | AES-GCM · ChaCha20-Poly1305 같은 AEAD 로 기밀성과 무결성을 함께 보장한다 |
| 해시 · 키 유도 | SHA-2 계열, BLAKE2s · HKDF (WireGuard) |
| 핸드셰이크 | TLS (OpenVPN), IKEv2 (IPsec), Noise_IK (WireGuard) |
PFS(Perfect Forward Secrecy) 는 장기 키가 나중에 노출되어도 과거 세션 키가 보호되는 성질이다. WireGuard 는 주기적 재키잉으로, TLS 계열은 ECDHE 로 이를 얻는다.
PersistentKeepalive = 25 가 널리 쓰인다.reply-to 가 Road Warrior 응답 경로를 깨뜨릴 수 있다.| 구현체 | 방식 | 현행 버전 |
|---|---|---|
| OpenVPN | TLS/PKI 기반 SSL VPN | 2.7.7[1] |
| WireGuard | Noise 기반 키 쌍 VPN. 리눅스 커널 내장, 도구는 wireguard-tools | v1.0.20260223[2] |
| strongSwan | IPsec/IKEv2 표준 구현 | 6.1.0[3] |
| SoftEther VPN | 멀티프로토콜 VPN 서버 | 이번에 확인하지 않음 |
.ovpn 프로파일에 맞춰 서버 인스턴스를 복원한다.최신 버전 2.7.7 — 2026-09-20 확인. https://github.com/OpenVPN/openvpn/releases/tag/v2.7.7 ↩︎
최신 버전 wireguard-tools v1.0.20260223 — 2026-09-20 확인. https://git.zx2c4.com/wireguard-tools/refs/ ↩︎
최신 버전 6.1.0 — 2026-09-20 확인. https://github.com/strongswan/strongswan/releases/tag/6.1.0 ↩︎