AWS

[AWS] AWS-Openswan-vpn 설정하기

ansmoon 2022. 10. 18. 18:07

 

 

 

1. onpremise 용도 vpc 생성

 1) VPC

 2) Subnet 생성 ( Pub, Pri )

 

 3) 라우팅 테이블 생성 

 4) IGW 생성 및 VPC에 연결

2. onprem ec2 생성

 1) 보안그룹

 - UDP 4500 : openswan

 - UDP 500 : ike

 - ICMP : ping

2) 인스턴스-네트워킹-소스/대상 확인 -> 중지

 - 패킷에 명시된 source 또는 destination에 해당하지 않더라도 패킷을 받아볼 수 있도록 check 작업을 정지시킨다. 예를 들어 NAT 인스턴스는 하위 사설망에 패킷을 전달하기 위해 들어오는 외부 패킷을 열어볼 수 있어야 한다.

3. ssh 접속 및 openswan 설치

$ sudo yum -y install openswan

1) ipsec.conf 파일 수정

sudo vim /etc/ipsec.conf   

include /etc/ipsec.d/\*.conf 앞 주석 제거

2) /etc/sysctl.conf 파일 수정

$ sudo vim /etc/sysctl.conf
아래 내용 붙여넣기
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0

3) 변경 사항 반영 및 network 서비스 재시작

$ sudo sysctl -p
$ sudo systemctl restart network

 

 

 

4. AWS 인스턴스 생성 (vpc 등 생성과정 생략)

 - AWS쪽 보안그룹은 22,icmp만 열어주면 됨

 

5. 고객 게이트웨이 (Customer Gateway) 생성

 - AWS측이 셋팅된 서울리전에서 작업 

 - IP 주소 : onprem_ec2의 pub ip

 - BGP ASN : BGP(동적)으로 구성할 때만 사용되며, openswan은 Static으로 구성하기 때문에 기본값(65000)으로 진행

 - 인증서와 디바이스는 Routing이 Static일땐 기입할 필요 없음

6. 가상 프라이빗 게이트웨이 생성 ( Virtual Private Gateway) 생성

 1) VGW를 VPC에 연결

 - AWS측 VPC에 연결

7. VPN 연결 생성  

- 가상 프라이빗 게이트웨이 : aws-onprem-vgw  

- 고객 게이트웨이 ID : onprem_cgw  

- 라우팅 옵션 : Static  

- 고정ip접두사 : onprem_ec2의 사설ip

- 터널링 옵션은 기입하지 않아도 AWS에서 자동으로 생성해준다. 만약 사전에 준비된 대칭키가 있으면 사용 가능하다

 - 터널 상태 확인

8. AWS측 퍼블릭 라우팅 테이블의 라우팅 전파를 활성화해준다.

 

 - 라우팅 테이블

(블로그에서는 위 전파를 활성화하면 자동으로 라우팅테이블에 등록된다고 했는데 나는 수동으로 입력해줌)  

시간이 좀 걸린다

이제 on-prem에 해당하는 172.0.0.0/16 대역의 트래픽은 vgw로 향한다

9. Site-to-Site VPN 연결

구성 다운로드

 

10. onprem_ec2

 1) 1) /etc/ipsec.d/aws.conf 설정

sudo vim /etc/ipsec.d/aws.conf
다운로드 받은 구성파일에서 해당 부분 복사 붙여넣기
아래 세가지는 주석 처리
#phase2alg=aes128-sha1;modp1024
#ike=aes128-sha1;modp1024
#auth=esp
leftsubnet=<LOCAL NETWORK> # onprem vpc 대역대 입력
rightsubnet=<REMOTE NETWORK> # aws vpc 대역대 입력

 

2) /etc/ipsec.d/aws.secrets설정

$ sudo vim/etc/ipsec.d/aws.sercrets
구성파일 중 PSK(Pre-Shared Key)값만 붙여넣는다

 

3) ipsec 시작 및 상태확인

 

4) ipsec 시작 시 오류

 -> 아래 세가지 주석 처리 후 재시작하니 정상적으로 시작됨

#auth=esp 만 주석 처리 해도 시작됨

 

11. 터널 상태 확인

 

< 결과 >

12. ping 확인 완료 (안될경우 network, ipsec 재시작 해주기)

 1) aws -> onprem 

 2) onprem -> aws

 

 

 

<추가확인사항>

- 터널이 둘다 Up되는게 정상일까...?