AWS Site-to-Site VPN 생성하기
온프레미스 환경
- 오레곤 리전에 생성
- VPC CIDR : 192.168.0.0/16
- Public 라우팅 테이블
Openswan이 설치된 Public 인스턴스로 AWS로 향하는 모든 트래픽이 전달되도록 함
- Openswan이 설치될 인스턴스는 Public하다
- 온프레미스 서버에서 다음과 같이 설정
yum -y install openswan
cat /etc/ipsec.conf | grep "include /etc/ipsec.d"
cat /etc/sysctl.conf
위 사진처럼 안 나오면 다음과 같이 주석이 없는 문장을 넣어준다
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
cd /etc/ipsec.d/
touch aws.conf
vim aws.conf
conn Tunnel1
authby=secret
auto=start
left=%defaultroute
leftid=34.220.47.252
right=13.125.138.202
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes_gcm
ike=aes256-sha1;modp1024
#auth=esp
keyingtries=%forever
keyexchange=ike
leftsubnet=192.168.0.0/16 #온프레미스 VPC 대역
rightsubnet=10.0.0.0/16 #AWS VPC 대역
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes
conn Tunnel2
authby=secret
auto=start
left=%defaultroute
leftid=34.220.47.252
right=52.78.101.234
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes_gcm
ike=aes256-sha1;modp1024
#auth=esp
keyingtries=%forever
keyexchange=ike
leftsubnet=192.168.0.0/16 #온프레미스 VPC 대역
rightsubnet=10.0.0.0/16 #AWS VPC 대역
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes
vim /etc/ipsec.d/aws.secrets
34.220.47.252 13.125.138.202: PSK "INTiYq74FSqH5DPrGPci1xvhSEBJNcQ0"
34.220.47.252 52.78.101.234: PSK "_p4a6Iihd.J4AUALHLx_Rzssm6XiUfkJ"
시스템 재시작
systemctl restart ipsec.service
ipsec status | grep Total
다음과 같이 나오면 Tunnel Up 성공
- 온프레미스의 인스턴스는 다음과 같은 설정을 해준다
AWS 환경
- 서울 리전에 설치
- VPC CIDR : 10.0.0.0/16
- Public 테이블
온프레미스 환경으로 흐르는 트래픽이 가상 프라이빗 게이트웨이로 향하게 설정
이때, 라우팅 전파를 활성화 시켜야함
- Private 라우팅 테이블
Public 라우팅 테이블과 동일하다
- Public 인스턴스 보안그룹
- Private 인스턴스 보안그룹
Ping test를 위한 ICMP open
- 고객 게이트웨이 생성
온프레미스의 Public 인스턴스의 Public IP가 들어가면 된다
- 가상 프라이빗 게이트웨이
- AWS 환경의 게이트웨이를 의미하는 것으로 1개 밖에 생성이 불가함
- Site-to-Stie VPN 생성
정적(static)으로, Static IP Prefix에는 온프레미스의 VPC 대역을 넣기
- VPN 장비에 맞게 구성 파일을 다운로드 하고 위에서 했던 것처럼 터널 설정을 하면
Ping Test
온프레미스 퍼블릭 인스턴스 -> AWS의 퍼블릭/프라이빗 인스턴스로 핑이 잘 가고있음을 볼 수 있다