Skip to content

VPN 가상 사설 네트워크

VPN의 개념

VPN(Virtual Private Network)은 공용 네트워크(인터넷)를 통해 사설 네트워크를 확장하는 기술입니다. 물리적으로 떨어져 있는 두 네트워크를 마치 하나의 내부 네트워크처럼 연결합니다.

VPN의 핵심 원리:

  • 원본 패킷을 암호화
  • 암호화된 패킷을 새로운 패킷으로 감싸서(캡슐화) 전송
  • 수신측에서 외부 패킷을 벗기고 복호화하여 원본 복원

터널링(Tunneling)

터널링은 VPN의 핵심 기술로, 패킷을 다른 패킷 안에 넣어서 전송하는 방식입니다.

인터넷에서는 새 IP 헤더의 주소(공인 IP)로 라우팅되고, 수신측 VPN Gateway에서 외부 패킷을 벗겨내고 복호화하면 원본 사설 IP 패킷이 나옵니다.

IPSec VPN

IPSec(Internet Protocol Security)은 VPN에서 가장 널리 사용되는 암호화 프로토콜 묶음입니다.

IPSec의 두 가지 모드:

  • 전송 모드: 데이터(페이로드)만 암호화. 호스트 간 직접 통신에 사용
  • 터널 모드: 원본 IP 헤더를 포함한 패킷 전체를 암호화. VPN에서 주로 사용

VPN의 종류

G2G(Gateway to Gateway) VPN - Site-to-Site

두 네트워크의 게이트웨이(VPN 장비) 사이에 터널을 생성합니다. 사무실 간 연결에 사용됩니다.

  • 두 사이트가 상시 연결 유지
  • 양쪽 내부 네트워크가 하나처럼 동작
  • AWS에서는 AWS Site-to-Site VPN 서비스로 제공

G2E(Gateway to End) VPN - Client VPN

개별 사용자(엔드포인트)가 VPN Gateway에 접속하여 내부 네트워크에 접근합니다. 원격 근무에 사용됩니다.

  • 사용자가 필요할 때 연결
  • VPN 클라이언트 소프트웨어 필요
  • AWS에서는 AWS Client VPN 서비스로 제공

MTU 이슈

VPN 터널링은 원본 패킷에 추가 헤더를 덧붙이므로 전체 패킷 크기가 커집니다.

일반 패킷:  [IP 20B][TCP 20B][데이터 1460B] = 1500B (MTU)

VPN 패킷:  [새 IP 20B][IPSec 헤더][원본 IP 20B][TCP 20B][데이터 ?B]
            ────────────────────────────────────────────────
            전체가 MTU(1500B)를 초과하면 안 됨!

VPN 사용 시 고려사항:

  • MSS가 줄어듦: VPN 헤더만큼 실 데이터 공간 감소
  • 패킷 단편화(Fragmentation): MTU 초과 시 패킷이 분할되어 성능 저하
  • 해결 방법: VPN 구간의 MTU를 미리 조정 (보통 1,400 바이트 정도로 설정)

AWS의 VPN 서비스

AWS Site-to-Site VPN

온프레미스 데이터센터와 AWS VPC를 IPSec VPN으로 연결합니다.

  • 이중화: 기본적으로 2개의 터널을 생성하여 고가용성 보장
  • Customer Gateway: 온프레미스 측 VPN 장비 정보를 AWS에 등록
  • Virtual Private Gateway: AWS VPC에 연결되는 VPN 엔드포인트

AWS Client VPN

원격 사용자가 AWS VPC에 안전하게 접속할 수 있는 관리형 서비스입니다.

AWS Transit Gateway

여러 VPC와 온프레미스 네트워크를 중앙 허브로 연결하는 서비스입니다. 다수의 VPN 연결과 VPC 피어링을 단순화합니다.