메뉴 닫기

[VPN] 퍼블릭 클라우드(GCP)와 온프레미스 간 VPN 연결 구축기 (strongSwan + GCP)

온프레미스 환경과 GCP 간에 내부 통신을 안전하게 구성하는 방법으로 IPsec VPN을 활용했습니다.

이 글에서는 strongSwan을 사용한 구성 사례를 공유합니다.

* 목표

GCP VPC와 온프레미스 네트워크를 안전하게 연결

내부 리소스를 VPN을 통해 직접 접근 가능하도록 구성

오픈소스 VPN 솔루션인 strongSwan 사용

GCP 환경

  • VPC
    • 10.178.0.0/20
    • 20.178.0.0/20
  • GCP VM Strongswan 구성

1. GCP VM 구성

  • OS: Rocky Linux 9(Repo 이슈)

2. Strongswan 설치

  • EPEL 저장소 등록
sudo dnf install epel-release
  • 패키지 설치
sudo dnf install strongswan libreswan 
  • 버전 확인
strongswan version
  • 설정 파일 확인
ls -l /etc/strongswan/
  • 통신 테스트
    • 실패

3. GCP VPN 설정하기

Google Computer Engine VPN 게이트웨어 생성

  • VPN 이름 : vpn-gateway
  • 네트워크 : 연결한 네트워크
  • 리전 : 적용할 리전
  • IP 주소 : VPN gateway IP(수동 생성)

Google Computer Engine VPN 터널 생성

  • 생성된 VPN 게이트웨어 등록
  • 이름 : VPN 터널 이름
  • 원격 피어 IP 주소 : Strongswan 공인 IP
  • IKE 버전 : 최신 IKEv2
  • IKE 사전 공유 키 : 양방향 인증하기 위한 키
  • 라우팅 옵션 : 라우팅 기반
    • 원격 네트워크 IP 범위 : Strongswan 내부 IP
  • 등록 중…
  • 등록 완료 되어 대기중

4. GCP VM Strongswan 설정

GCP VM 간 VPN 터널링 설정 구성하기

vi /etc/strongswan/ipsec.conf

config setup
    charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2"
    uniqueids=no
    strictcrlpolicy=no

conn gcp-vpn
    auto=start
    type=tunnel
    keyexchange=ikev2
    ikelifetime=60m
    lifetime=20m
    rekey=yes
    dpdaction=restart
    dpddelay=30s
    dpdtimeout=120s
    authby=secret

    left=%defaultroute
    leftid=34.64.231.233           # GCP 외부 IP
    leftsubnet=10.178.0.0/20    # GCP VPC 내부 네트워크

    right=34.22.109.253           # 상대방 VPN 게이트웨이 Public IP
    rightsubnet=20.178.0.0/20  #상대방 내부 네트워크

vi /etc/strongswan/ipsec.secrets


[내 공인 IP] [상대방 공인 IP] : PSK "GCP VPN 발급 받은 공유키"
34.64.231.233 34.22.109.253 : PSK "LmnJGrlaIHouMUetBHkH0h811s4da4LR"
  • 서비스 재시작
strongswan restart
  • 통신 테스트
Posted in vpn

Related Posts