본문으로 바로가기

실제 온프레미스 환경으로도 구축해서 2편으로 올릴까 했는데 AWS로 할때랑 원리는 똑같고 더 간단해서 내용이 없다.

 

OpenSwans을 사용한 IDC와 클라우드간 S2S VPN 구성 

1. 핑 체크

IDC > Private subnet EC2
동일 VPC의 10.100.0.103으로만 나감


IDC > Public subnet EC2
동일 VPC의 10.100.100.93으로만 나감


AWS > Private subnet EC2
당연히 양쪽 모두로 안나감

 

2. S2S VPN 연결

1) 고객 게이트웨이 생성
VPC > VPN > Customer gateways


IP address : IDC 쪽에서 외부와 연결할 IP 주소 (이번 경우에는 OpenSwan 서버의 공인 IP)


1-1) 가상 사설 게이트웨이 생성
VPC > VPN > Virtual private gateways

Name만 적당히 넣으면 된다.


1 - 2) 가상 사설 게이트웨이와 VPC 연결


AWS쪽 VPC에 연결해 주어야 한다.


3-1) S2S connection 생성
VPC > VPN > Site-to-Site VPN connections


Name : 원하는대로
Target gateway type : Virtual private gateway
Virtual Private gateway : 아까 생성한 vpgw
Customer gateway ID : 아까 생성한 cgw
Routing options : BGP를 사용하지 않으므로 Static 선택
                            IP prefiexs는 IDC의 IP 대역으로 한다.


3-2) 설정값 가져오기
생성된 connection 선택 후 Download configuration


Vendor를 Openswan으로 선택 후 다운로드


다운로드한 파일을 확인해보면 Openswan 쪽의 설정 정보가 있다


4) Openswan 설정
아까 다운로드 받은 txt 파일의 내용대로 진행하면 된다.

4-1) 포워딩 설정
/etc/sysctl.conf 파일에 아래 내용 추가 후 'sysctl -p' 
   net.ipv4.ip_forward = 1
   net.ipv4.conf.default.rp_filter = 0
   net.ipv4.conf.default.accept_source_route = 0

sysctl.conf


4-2) Openswan 설치
yum install openswan으로 openswan 설치



4-3) ipsec.conf 설정 확인
/etc/ipsec.conf 파일에 "include /etc/ipsec.d/*.conf" 부분에 주석이 있는지 확인하여 주석 제거


4-4) aws.conf 파일 추가
/etc/ipsec.d/aws.conf 파일에 아까 받은 text의 내용 추가

auth=esp : 주석처리
leftsubnet=10.100.0.0/16 (IDC 쪽의 서브넷)
rightsubnet=10.0.0.0/16 (AWS 쪽의 서브넷)

위의 서브넷에 0.0.0.0/0 을 넣어도 되지만 그럼 다른 대역 아이피에서 접근하는것도 모두 허용되기 때문에 보안상 사용할 대역대만 넣는게 좋다.


4-5) aws.secrets 파일 추가
/etc/ipsec.d/aws.secrets 파일에 text 내용 추가


4-6) ipsec 서비스 시작 및 확인
systemctl enable ipsec --now
systemctl status ipsec


VPC > VPN > Site-to-Site VPN connections > VPN 선택 > Tunnel details 확인

 

3. Route table 및 Openswan 인스턴스 설정 변경

1) IDC의 서버들이 AWS의 서버(10.0.0.0/16)을 찾아갈 수 있도록 라우팅 설정
VPC > Virtual private cloud > Route tables에 IDC Private rt 선택 후 edit routes

Destination : AWS VPC IP 대역 (10.0.0.0/16) 
Target : Openswan이 설치된 인스턴스


2) AWS의 서버들이 IDC의 서버(10.100.0.0/16)을 찾아갈 수 있도록 라우팅 설정
VPC > Virtual private cloud > Route tables에 AWS Private rt 선택 후 Route propagation
라우팅 테이블을 직업 입력해도 되지만 라우팅 전파를 사용하면 느슨한 결합을 유지할 수 있어 편하다


Edit route propagation에서 Enable 체크



3) Openswan이 설치된 인스턴스에서 포워딩 가능하게 설정
EC2 > instances > IDC public intance 선택 > Actions > Networking > Change source/destination check

Source / destination checking Stop 체크

 

4. 확인

IDC > Private subnet EC2
AWS VPC인 10.0.100.217과 통신됨


IDC > Public subnet EC2

AWS VPC인 10.0.100.217과 통신됨


AWS > Private subnet EC2


IDC VPC인 10.100.100.93, 10.100.0.103과 모두 통신됨

 

참조 : https://medium.com/greendatakr/aws-s2s-vpn-part-3-fc7c76911c9a

'IT > Cloud' 카테고리의 다른 글

Session Manager로 Private EC2 접속하기 (AWS)  (0) 2023.03.03