[AWS] Site to Site VPN
1. AWS Site-to-Site VPN 이란?
AWS에서 제공하는 VPN 서비스는 표준 IPSec VPN 만을 제공한다. Amazon VPC와 온프레미스 장비가 통신할 때 S2S VPN을 사용해 public 네트워크를 이용하지만 private 네트워크를 이용하는 것처럼 사용할 수 있다.
AWS S2S VPN 연결을 생성하면 고가용성을 위해 기본적으로 두 개의 터널 엔드포인트가 서로 다른 영역에 생성된다.
VPC쪽에는 가상 프라이빗 게이트웨이 (Virtual Private Gateway, VGW)를 생성하고, 온프레미스쪽 장비에 대한 정보를 지정한 고객 게이트웨이(Customer Gateway, CGW) 를 생성한다. 두 게이트웨이를 통해 VPN 연결을 하여 VPN 터널 통신을 한다.
2. AWS S2S VPN 구성
구성할 인프라는 다음과 같다.
- VPN을 제외한 기본적인 인프라를 구성한다.
고객 게이트웨이 디바이스는 VPN 통신을 할 수 있도록 소스/대상 확인 비활성화 하고 다음과 같이 설정한다.
#!/bin/bash
hostnamectl --static set-hostname IDC-CGW
yum -y install tcpdump openswan
cat <<EOF>> /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.ip_vti0.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
EOF
sysctl -p /etc/sysctl.conf
curl -o /etc/ipsec.d/vpnconfig.sh https://cloudneta-book.s3.ap-northeast-2.amazonaws.com/chapter6/6_lab_s2s-vpnconfig.sh
chmod +x /etc/ipsec.d/vpnconfig.sh
-
VGW를 생성하고 AWS-VPC에 연결한다.
-
고객 게이트웨이 디바이스에 연결된 CGW를 생성한다.
-
VGW와 CGW를 VPN 연결한다. 10.60.0.0/16 정적 라우팅을 추가하고, 터널 1과 2의 사전 공유 키 (PSK)는 cloudneta (고객 게이트웨이 디바이스 설정에서 openswan으로 생성될 기본 PSK) 로 설정한다.
-
고객 게이트웨이 디바이스에 접속해서 VPN 연결을 설정한다.
$ pwd /etc/ipsec.d $ ./vpnconfig.sh CGW 퍼블릭(혹은 탄력적) IP를 입력하세요: 3.38.12.7 VGW의 Tunnel1의 외부 IP를 입력하세요: 3.35.211.76 VPN 서비스를 시작합니다. Created symlink from /etc/systemd/system/multi-user.target.wants/ipsec.service to /usr/lib/systemd/system/ipsec.service. VPN 설정이 완료되었습니다. cat /etc/ipsec.d/aws.conf 명령어로 확인해 보세요. cat /etc/ipsec.d/aws.secrets 명령어로 확인해 보세요. $ systemctl restart ipsec
AWS 콘솔에서 VPN 연결되었음을 확인할 수 있다.
-
AWS-RT의 라우팅 전파를 활성화한다. 라우팅 정보가 VGW로부터 AWS-RT에 전파됨을 확인할 수 있다.
-
IDC-Private-RT 에서 10.50.0.0/16 으로 향하는 트래픽은 고객 게이트웨이 디바이스의 인터페이스로 향하게 한다.
IDC-EC2에서 AWS-EC2로 ping을 보내어 VPN연결을 확인할 수 있다.
댓글남기기