VPN이란?
VPN(Virtual Private Network)은 인터넷으로 연결된 두개의 다른 네트워크에 있는 호스트들 간의 통신을 암호화된 연결방식으로 전송해서 마치 동일한 네트워크에 있는것처럼 안전한 통신을 할수있게 해줍니다.
일반적으로 AWS환경에 있는 VPC와 On-premise 데이터센터간의 통신이 필요 시 AWS Site-to-Site VPN을 이용하여 쉽고 안전하게 연결할 수 있습니다. AWS Direct Connect를 이용해서 AWS Network와 On-premise 데이터 센터를 물리적으로 연결하는 방법도 존재하나 비용이 상당히 요구된다.
이번 포스팅에서는 Openswan을 이용한 AWS Site-to-Site VPN을 테스트 해보겠습니다.
아키텍처
기본 구성
1. vpc 생성
2. IGW 생성
3. 서브넷 생성
4. RT 생성 및 등록
5. 인스턴스 생성
VGW(가상 프라이빗 게이트웨이)
VPC Service로 이동하여 좌측 하단 VGW생성
CGW(customer-gateway)
동일하게 VPC service를 통하여 접근
VPN생성
VPC service의 Site-to-Site VPN을 통해 생성
Openswan 설정 및 테스트
sudo yum -y install openswan
<openswan 설정 파일 생성>
sudo vi /etc/ipsec.d/aws.conf
conn Tunnel1
authby=secret
auto=start
left=%defaultroute
leftid=15.165.235.204 #customer gateway IP
right=3.34.64.185 #AWS VPN Tunnel 1 IP
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes128-sha1;modp1024
ike=aes128-sha1;modp1024
keyingtries=%forever
keyexchange=ike
leftsubnet=<LOCAL NETWORK> #On-premise VPC
rightsubnet=<REMOTE NETWORK> #AWs VPC
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes
conn Tunnel2
authby=secret
auto=start
left=%defaultroute
leftid=15.165.235.204 #Customer gateway ip
right=52.79.137.110 #aws vpn tunnel ip
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes128-sha1;modp1024
ike=aes128-sha1;modp1024
keyingtries=%forever
keyexchange=ike
leftsubnet=<LOCAL NETWORK> #On-premise VPC
rightsubnet=<REMOTE NETWORK> #AWS VPC
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes -> 다중 터널시 cgw의 ip중복허용
sudo vi /etc/ipsec.d/aws.secrets
<CUSTOMER_GATEWAY_IP> <TUNNEL1_IP>: PSK "<TUNNEL1 PSK>"
<CUSTOMER_GATEWAY_IP> <TUNNEL2_IP>: PSK "<TUNNEL2 PSK>"
> 해당 정보는 다운받은 파일에서 확인가능합니다.
<ip forward 설정>
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
<서비스 시작>
sudo service network restart
sudo service ipsec restart
설정 확인 및 동작
라우팅 수정
보안그룹 설정
동작 확인 - ping 통신
'aws' 카테고리의 다른 글
Elastisearch 를 사용 VPC FLOWLOGS (0) | 2021.03.29 |
---|---|
CloudWatch / SSM Agent (0) | 2021.03.29 |
lb -acm 인증서를 이용한 접속 (0) | 2021.02.09 |
route 53 도메인 연결 (0) | 2021.02.09 |
RDS-multi AZ/RR 구성 실습 (0) | 2021.02.03 |