온프레미스 환경과 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

- 통신 테스트
