Profile picture

[네트워크] VPN에 대한 개념과 종류에 대해 알아보고 구축까지 해보기!

JaehyoJJAng2024년 10월 10일

1. 개요

이번 게시글에서 정리할 내용은 다음과 같습니다!

  • VPN의 개념
  • Site-to-Site VPN vs Remote Access VPN(클라이언트 기반 VPN) 의 차이점
  • Fortinet 장비 기준으로 eve-ng에서 예시 구성하는 방법

2. VPN 이란?

VPN(Virtual Private Network) 은 공용 네트워크(인터넷)를 통해 사설 네트워크 간 안전하게(암호화) 연결하기 위한 기술입니다.


  • "인터넷을 통하지만, 마치 전용선(사설망)을 쓰는 것 처럼 안전하게 통신한다": 이것이 VPN의 핵심 개념이에요!

암호화를 통해 도청/변조를 막고, 터널링(tunneling) 기법으로 특정 IP 대역들을 서로 연결합니다.


3. VPN 종류: Site-to-Site vs Remote Access

VPN은 크게

(1) Site-to-Site VPN

(2) Remote Access VPN(클라이언트 기반)

으로 나뉘어요!


3.1. Site-to-Site VPN

정의

  • 사무실 A와 사무실 B처럼, 네트워크 대역(서브넷)과 네트워크 대역 간을 통째로 연결하기 위한 VPN

구현

  • 사무실 A의 라우터(OR 방화벽/VPN 게이트웨이)와 사무실 B의 라우터(OR 방화벽/VPN 게이트웨이) 간에 IPSec 등의 암호화 터널을 맺습니다.

사용 시나리오

  • 1. 회사 본사 <-> 지사 간 내부망 연결
  • 2. 온프레미스(사내 데이터센터) <-> 클라우드 (AWS, Azure, GCP)간 연결

특징

  • 게이트웨이 대 게이트웨이 형태라서, VPN을 사용하는 사용자 입장에서는별도의 VPN 접속 프로그램을 실행하지 않아도 됩니다.
  • 양쪽 네트워크가 서로 라우팅을 통해 자동으로 연결돼요. (Ex. 10.0.x.x <-> 10.10.x.x)


3.1.1. 사용 사례

그렇다면 Site-to-Site VPN은 언제 사용될까요?

  • 사내에서 클라우드(또는 다른 지사) 내부 서버에 "그냥 내부 IP로" 접근해야 할 때
  • 사용자들이 따로 VPN 클라이언트를 설치하지 않고도 양쪽 망이 통신 되도록 하고 싶을 때
  • IP 주소가 많고, 트래픽이 많은 기업 간 네트워크 연결 이 필요할 때

3.2. Remote Access VPN

정의

  • 원격지(집, 카페 등) 개인 사용자가 회사 내부망에 접속하기 위해, PC나 모바일 디바이스에 VPN 클라이언트 를 실행해 접속하는 방식

구현

  • OpenVPN, WireGuard, L2TP/IPSec, SSL VPN(FortiClient 등) 등등

사용 시나리오

  • 1. 집이나 외부에서 회사 내부 시스템에 접근(업무용, 재택)할 때
  • 2. 개인 홈 서버에 WireGuard/OpenVPN 설치해놓고, 외부에서 연결하여 집 내부망 리소스(Ex. NAS)에 접근할 때

특징

  • 클라이언트(PC, 노트북, 모바일)가 VPN 서버로 접속해야 함.
  • VPN 서버는 회사(또는 집) 내부망에 위치(또는 DMZ 영역)
  • 사용자에 대한 인증(ID/PW, OTP 등)이 필요함.


3.2.1. 사용 사례

그렇다면 Remote Access VPN은 언제 사용될까요?


  • OpenVPN / WireGuard를 홈 서버 내부에 설치해두고, 외부에서 라우팅(집 내부 대역 접근)
    • 이것이 전형적인 클라이언트 기반(Remote Access) VPN
    • 외부에서 특정 단말(PC나 핸드폰)만 VPN을 켜면, 집 내부 IP 대역(192.168.x.x 등)에 들어갈 수 있음

4. Site-to-Site / Remote Access 간 비교

항목 Site-to-Site VPN Remote Access VPN
연결 대상 네트워크 대역 <-> 네트워크 대역 단말(클라이언트) <-> 네트워크
보통 사용하는 프로토콜 IPSec (주로 IKEv2, ESP, AH), GRE + IPSec 등 OpenVPN(SSL), WireGuard, L2TP/IPSec 등
접근 방식 사용자 입장에서는 자체적으로 라우팅되어 별도 클라이언트 X 각 단말에서 VPN 클라이언트 실행 필요
활용 사례 회사 본사-지사 간, 온프레-클라우드 간 등 집/외부에서 회사나 개인 홈 서버 접근
관리/운영 난이도 양쪽 방화벽/라우터 설정, 암호화 파라미터 맞춤 VPN 서버 1대(또는 클러스터) + 사용자 인증
  • Site-to-Site는 라우터/방화벽 레벨에서 VPN 터널을 맺기 때문에, 양쪽 서브넷이 곧장 연결됩니다.
  • Remote Access는 개인 사용자가 VPN 클라이언트를 실행해서 “한쪽 네트워크”로 들어오는 구조입니다.

5. VPN 프로토콜/방식 간단하게 정리하기

5.1 IPSec

  • IP 계층(L3) 수준에서 암호화/인증을 제공
  • Site-to-Site VPN에서 표준으로 많이 사용됨 (Fortinet, Cisco, Palo Alto 등 대부분 방화벽)
  • Phase1(IKE 협상)과 Phase2(IPSec SA 교환) 개념이 있음
  • Remote Access VPN으로도 쓰일 수 있으나, 설정 복잡도가 SSL 방식보다는 살짝 높은 편

5.2 SSL VPN(OpenVPN, WireGuard 등)

  • SSL/TLS 레이어를 활용해 비교적 설정이 간단
  • Remote Access VPN으로 많이 쓰임
  • OpenVPN은 TCP/UDP 1194 포트(기본값) 등, WireGuard는 UDP 51820 등
  • Site-to-Site도 가능하지만, 엔터프라이즈 장비에서 주로 IPSec을 표준으로 지원하기 때문에 기본적인 게이트웨이-게이트웨이 구성은 IPSec이 더 흔함

5.3 기타 (L2TP/IPSec, PPTP, GRE+IPSec 등)

  • 구형 프로토콜도 있지만, 요즘엔 IPSec(IKEv2)나 SSL/OpenVPN, WireGuard가 주류

6. eve-ng에서 Fortinet으로 Site-to-Site VPN 실습하기!

6.1 토폴로지 구상

예: “FortiGate1(본사)”와 “FortiGate2(지사)” 2대를 EVE-NG에 배치한 뒤,

WAN 구간(클라우드 or 인터넷)을 스위치/라우터로 에뮬레이션.

  (사내망: 10.0.1.0/24)
    PC1 -------- (port2)FortiGate1(port1) ---- (WAN) ---- (port1)FortiGate2(port2) --------- PC2
                                                           (사내망: 10.0.2.0/24)
  • FortiGate1: 본사, 내부망 10.0.1.0/24, WAN 192.168.100.1 (가정)
  • FortiGate2: 지사, 내부망 10.0.2.0/24, WAN 192.168.100.2 (가정)
  • 둘 사이를 EVE-NG 내부 네트워크로 연결

6.2 FortiGate Site-to-Site IPSec 설정

FortiGate1 (본사)

  • VPN → IPSec Wizard → Site to Site 선택
  • Remote Gateway IP: 192.168.100.2 (FortiGate2의 WAN IP)
  • Pre-shared Key: 예) 1234abcd (FortiGate2와 동일해야 함)
  • Phase1 Proposal: AES256 / SHA256 / DH Group14 (둘이 동일)
  • Phase2 Proposal: ESP AES256 / SHA256 (둘이 동일)
  • Policy & Routing: VPN Interface를 사용해 10.0.2.0/24 대역으로 가는 Static Route 추가, 그리고 방화벽 정책(Internal → VPN, VPN → Internal) accept

FortiGate2 (지사)

  • 위와 똑같이 설정하되, Remote Gateway IP = 192.168.100.1, PSK 동일, Phase1/2 Proposal 동일
  • Routing, 방화벽 정책 동일하게 설정(10.0.1.0/24 → VPN, VPN → 10.0.1.0/24)

터널 상태 확인

  • FortiGate GUI 또는 CLI에서 diagnose vpn tunnel list / get vpn ipsec tunnel summary 등으로 터널 UP 상태 확인
  • PC1 → PC2 (10.0.2.50 등) 핑 테스트

7. 정리하기

Site-to-Site VPN

  • 서로 다른 2개 이상의 **네트워크(서브넷)**를 연결 (회사 본사-지사, 온프레-클라우드 등)
  • 사용자 개입 없이 서로 라우팅 연결된다. 주로 IPSec(IKEv2) 표준 사용
  • Fortinet/Cisco/Palo Alto 등 엔터프라이즈 장비가 제공하는 VPN 게이트웨이 기능으로 설정


Remote Access VPN

  • 외부 개인 사용자(PC/노트북/스마트폰)들이 VPN 서버로 접속
  • 각 단말에 클라이언트가 설치/실행됨 (예: OpenVPN, WireGuard 클라이언트)
  • 라우팅 설정 후, 내부망(집/회사)에 들어오도록 구성
  • 보통 OpenVPN/SSL VPN/WireGuard/L2TP/IPSec 등이 많이 쓰임

실제 구축 시 주의점

  • 양쪽 VPN 장비의 암호화 프로토콜(Phase1/Phase2) 호환 맞춰야 함 (예: AES256 vs AES128 혼용 금지)
  • 방화벽 정책: 터널 인터페이스(VPN interface)에 대한 In/Out 권한 열어줘야 함
  • 라우팅: 내가 연결하고 싶은 내부망 대역에 대해 Static Route or Dynamic Routing(BGP/OSPF 등) 설정
  • NAT: 필요에 따라 VPN 구간 NAT 해제/적용을 신경써야 함

EVE-NG 실습

  • FortiGate 이미지를 가져와서 “본사/지사” 2대 배치 후 Site-to-Site 실습 → VPN 동작 확인
  • Remote Access 실습도 가능(FortiGate에서 SSL VPN 설정 후, EVE-NG 클라이언트 PC가 VPN Client로 접속)
    Tag -

Loading script...