AWS openswan을 이용한 site-to-site VPN 구성
목표 구성
Site-to-Site VPN 이란?
두 개의 네트워크 도메인이 가상의 사설 네트워크 연결을 사용하여 프라이빗 통신을 가능하게 하는 서비스
AWS에서 제공하는 Site-to-site vpn은 표준 Ipsec vpn만 지원
Site-to-Site VPN 제한 사항
Site-to-Site VPN 연결에는 다음과 같은 제한 사항이 있습니다.
- 가상 프라이빗 게이트웨이의 VPN 연결에는 IPv6 트래픽이 지원되지 않습니다.
- AWS VPN VPN 연결은 경로 MTU 검색을 지원하지 않습니다.
또한 Site-to-Site VPN을 사용할 때는 다음 사항을 고려하십시오.
VPC를 공통 온프레미스 네트워크에 연결하는 경우 네트워크에 겹치지 않는 CIDR 블록을 사용하는 것이 좋습니다.
Site-to-Site VPN 연결당 0.05 USD(시간당)
AWS Site-to-Site VPN에서 전송되는 데이터의 경우 EC2 온디맨드 요금 페이지에 설명된 데이터 송신 요금이 부과됩니다.
기본 구성
1. VPC 생성
- 이름 : IDC-VPC , IP대역 : 10.10.0.0/16
- 이름 : AWS-VPC , IP대역 : 10.20.0.0/16
2. 서브넷 생성
- 이름 : IDC-Public-sn , VPC : IDC-VPC, IP대역 : 10.10.0.0/24
- 이름 : IDC-Private-sn , VPC : IDC-VPC , IP대역 : 10.10.1.0/24
- 이름 : AWS-Public-sn , VPC : AWS-VPC , IP대역 : 10.20.0.0/24
3. 인터넷 게이트웨이 생성
- 이름 : IDC-IGW , VPC 연결 : IDC-VPC
- 이름 : AWS-IGW , VPC 연결 : AWS-VPC
4. 탄력적 IP 생성
- 이름 : IDC-CGW , IDC-CGW인스턴스 생성 후 탄력적 IP 연결(10.10.0.100)
- 이름 : AWS-EC2 , AWS-EC2 인스턴스 생성 후 탄력적 IP 연결(10.20.0.100)
5. 라우팅 테이블 생성
상세 라우팅 테이블
- 이름 : IDC-Public-RT , 서브넷연결 : 10.10.0.0/24 , 라우팅 추가 : 0.0.0.0->IDC-IGW
- 이름 : IDC-Private-RT , 서브넷연결 : 10.10.1.0/24 , 라우팅 추가 : 10.20.0.0->IDC-CGW 인스턴스 ENI
- 이름 : AWS-Public-RT , 서브넷 연결 : 10.20.0.0/24 , 라우팅 추가 : 0.0.0.0->AWS-IGW , 라우팅 전파 : 10.10.0.0/16->VGW(가상 프라이빗 게이트웨이 생성 후 설정가능)
6. EC2 인스턴스 생성
- 이름 : IDC-CGW , VPC : IDC-VPC , 서브넷 : IDC-Public-sn , 퍼블릭ip할당 : 비활성화 , Primary ip : 10.10.0.100<->탄력적 ip 연결 ,보안규칙 : icmp ,위치무관/ udp 4500 추가, openswan 설치
- 이름 : IDC-EC2 , VPC : IDC-VPC , 서브넷 : IDC-Private-sn , 퍼블릭ip할당 : 비활성화 , Primary ip : 10.10.1.100
보안규칙 : icmp ,위치무관 추가, ssh 패스워드 로그인 방식 활성화, root로그인 활성화
#!/bin/bash
(
echo "test123"
echo "test123"
) | passwd --stdin root
sed -i "s/^PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config
sed -i "s/^#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config
service sshd restart
- 이름 : AWS-EC2 , VPC : AWS-VPC , 서브넷 : AWS-Public-sn , 퍼블릭ip할당 : 비활성화 , Primary ip : 10.20.1.100<->탄력적 ip 연결 ,보안규칙 : icmp ,위치무관 추가
7. 고객 게이트웨이 생성
- 이름 : IDC-CGW-VPN , IP 주소 : IDC-CGW 의 탄력적 IP
8. 가상 프라이빗 게이트웨이 생성
9. Site-to-Site VPN 연결
- 이름 : IDC-AWS-VPN , 대상 게이트웨이 유형 : 가상 프라이빗 게이트웨이 , 가상 프라이빗 게이트웨이 : AWS-VPN
고객 게이트웨이 ID : IDC-CGW-VPN , 라우팅 옵션 : 정적, 고정 IP 접두사: 10.10.0.0/16(IDC대역)
VPN 연결 생성 확인.
VPN 구성 다운로드
공급업체 Openswan
다운로드를 진행하면 vpn설정에 필요한 txt파일을 받을 수 있다.
순서에 따라 설정 진행을 하면된다.
10. IDC-CGW 인스턴스 openswan 설치 및 설정
sudo su -
yum install openswan -y
1) Open /etc/sysctl.conf and ensure that its values match the following:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
wq
sysctl -p #Apply the changes in step 1 by executing the command
2)Open /etc/ipsec.conf and look for the line below. Ensure that the # in front of the line has been removed, then save and exit the file.
#include /etc/ipsec.d/*.conf
3)Create a new file at /etc/ipsec.d/aws.conf if doesn't already exist, and then open it. Append the following configuration to the end in the file:
conn Tunnel1
authby=secret
auto=start
left=%defaultroute
leftid=15.164.X.X #IDC-CGW 탄력적IP
right=15.165.X.X #터널1 외부IP
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes128-sha1;modp1024
ike=aes128-sha1;modp1024
# auth=esp #ESP사용안하므로 주석처리
keyingtries=%forever
keyexchange=ike
leftsubnet=10.10.0.0/16 #IDC-VPC 사설대역
rightsubnet=10.20.0.0/16 #AWS-VPC 사설대역
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes #HA 설정 (VPN Tunnel2 연결)
conn Tunnel2
authby=secret
auto=start
left=%defaultroute
leftid=15.164.X.X #IDC-CGW 탄력적IP
right=54.180.X.X #터널2 외부IP
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes128-sha1;modp1024
ike=aes128-sha1;modp1024
# auth=esp
keyingtries=%forever
keyexchange=ike
leftsubnet=10.10.0.0/16
rightsubnet=10.20.0.0/16
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes #HA 설정 (VPN Tunnel2 연결)
4) Create a new file at /etc/ipsec.d/aws.secrets if it doesn't already exist, and append this line to the file (be mindful of the spacing!):
5) IPsec 서비스 재시작
systemctl start ipsec.service
systemctl enable ipsec.service
systemctl status ipsec.service
11. IDC-CGW EC2 네트워크 설정 수정
IDC-CGW 인스턴스 선택 후 작업>네트워킹>소스/대상 확인 변경(소스/대상확인 중지 활성화)
12. 통신상태 확인
IDC-EC2(10.10.1.100)<->AWS EC2(10.20.0.100)
AWS EC2(10.20.0.100)<-> IDC-EC2(10.10.1.100)
13. 자원삭제
VPN연결삭제->가상프라이빗 게이트웨이(VPC에서 분리)-> 가상 프라이빗 게이트웨이 삭제->고객 게이트웨이 삭제
->탄력적IP 연결해제->탄력적 IP 주소 릴리즈->인스턴스 삭제->VPC삭제
'클라우드,네트워크,서버 > AWS Basic' 카테고리의 다른 글
[AWS Basic] AWS Transit Gateway(전송 게이트웨이), 블랙홀 라우팅 (0) | 2022.10.27 |
---|---|
[AWS Basic] vpc peering(vpc 피어링) 구성 (0) | 2022.08.24 |
[AWS Basic] CloudFront CDN(Contents Delivery Network) 서비스설정 (0) | 2022.08.04 |
[AWS Basic] Route 53 단순라우팅, 장애조치 라우팅(route 53 simple routing, Failover routing policy) 설정 (0) | 2022.07.29 |
[AWS Basic] ALB 를 통한 로드밸런싱 설정(ALB load balancing setup) (0) | 2022.07.27 |