목록 보기
WireGuard로 멋진 VPN 서버 구축하기 - 1
데브옵스

WireGuard로 멋진 VPN 서버 구축하기 - 1

데브시스터즈
데브시스터즈
2021년 9월 3일

두줄요약

OpenVPN의 계정 관리·추적성·성능 문제를 WireGuard 기반 자체 VPN으로 개선했습니다. 그룹별 접근 제어와 사용자 고유 IP 로그를 AWS 라우팅으로 구현했습니다.

문제 상황

  • OpenVPN의 SSO 연동·계정 관리 불편, NAT로 인한 사용자 식별 불가, 라이선스·성능 문제
  • 직군별 VPC 접근 제어와 사용자별 접근 로그 식별 요구

선택 이유

  • UDP·커널 모듈 기반 WireGuard의 낮은 레이턴시, 암호화 성능, 공개키 기반 Peer 배포
  • Keycloak 그룹과 Go 생태계 라이브러리를 활용한 맞춤형 VPN 기능 구현 가능성

구조와 흐름

  • 그룹별 WireGuard 인터페이스와 ip-rule·라우팅 테이블 분리
  • 허용 VPC에는 throw 라우트, 기본 경로에는 blackhole 라우트 적용
  • NAT 없이 사용자별 고유 IP를 전달하고 AWS 라우팅으로 반환 경로 구성

트레이드오프

  • AWS Source/Destination Check 비활성화와 VPC 대역 비중복 조건
  • 동일 리전 Transit Gateway 및 리전 간 Transit Gateway Peering 기반 경로 구성
  • 리전 간 비대칭 경로의 VPC Peering 제약으로 Transit Gateway 중심 설계 전환

다음 읽기

#WireGuard 주제를 이어서 읽기

WireGuard로 멋진 VPN 서버 구축하기 - 2

WireGuard의 공개키 기반 연결에 Keycloak SSO와 키 활성화·만료 정책을 결합했습니다. tc eBPF 맵으로 패킷을 제어하고 만료 키 연결은 Slack으로 알림했습니다.

데브시스터즈
데브시스터즈
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...