새소식

네트워크/IPSec VPN

[IPSec VPN] Juniper JunOS 장비에서 AWS와의 Site-to-Site VPN 터널링 과정

  • -

AWS에서 Site-to-Site VPN을 설정하려면 온프레미스에 있는 IPSec VPN 장비와 터널링하는 과정이 필요합니다. 본 포스팅에서는 Juniper 기반의 IPSec VPN 장비의 GUI 환경에서 터널링하는 방법을 설명합니다. AWS에서 Site-to-Site VPN 연결을 구성하는 방법은 아래 포스팅을 참고해주시기 바랍니다.

[클라우드/AWS] - [AWS] Site-to-Site VPN 구성하기: 온프레미스 사설망과의 연결


 

AWS VPN 구성 정보 다운로드

앞선 포스팅에서 생성했던 VPN 연결에서 구성 다운로드를 하여 해당 구성대로 VPN 터널링을 진행하면 되는데, 그러기 위해선 터널링을 구성할 온프레미스 IPSec VPN의 구성 정보가 필요합니다. 여기서는 아래 [그림 1]과 같이 Juniper의 JunOS 버전의 장비에 구성하는 것을 설명합니다.

[그림 1] IPSec VPN 버전 정보 확인

해당 구성 정보를 바탕으로 AWS 콘솔에서 앞서 생성한 VPN 연결을 선택하여 [그림 2]와 같이 구성 다운로드를 클릭합니다.

[그림 2] VPN 연결의 구성 다운로드 클릭

Transit Gateway로 구성 변경한 후에 캡처한 화면이고, IPSec VPN에서 해야할 작업은 동일하니 참고만 해주세요.

[그림 3] VPN 구성 다운로드 항목 선택

구성에 맞게 공급 업체, 플랫폼, 소프트웨어, IKE 버전 항목들을 선택하여 다운로드하여 나온 파일을 실행시키면 다음 [그림 4]와 같은 내용을 확인할 수 있습니다.

[그림 4] IPSec VPN 구성 파일 내용

필자는 회사에서 네트워크를 주로 담당하는 인원이 아닐 뿐더러 장애가 났을 때 즉각적인 대응을 할 수 있도록
작업 내용을 이해하면서 진행하기 위해 GUI 환경에서 진행하였습니다.

위 구성 파일 내용을 이해해보면, 샵(#)은 주석이고, 주석이 없는 내용을 CLI에서 명령어를 입력하라는 내용인 것 같습니다. 주석에 명령어를 수행하는 내용들이 설명되어 있고, 본 포스팅에서는 해당 명령어에 해당하는 부분을 GUI 환경에서 하나하나 내용을 확인하면서 천천히 진행해볼 것이다.

 

Juniper IPSec VPN에서 Site-to-Site VPN 터널링 과정

1. IKE (Phase I) 구성

처음으로, security ike proposal 명령에 해당하는 메뉴를 [그림 5]와 같이 찾아갔습니다. Security Services > VPN > IKE (Phase I) 메뉴로 들어와 3개의 탭 중 맨 오른쪽의 Proposal을 눌러 우측 상단의 + 버튼을 클릭합니다.

[그림 5] IKE (Phase I) 설정

구성 파일 내용대로 이름은 ike-prop-vpn-0db1a14-1, authentication-algorithm은 sha1, authentication-method는 pre-shared-keys, dh-group은 group2, lifetime-seconds는 28800으로 세팅하고 OK를 눌러줍시다. 

[그림 6] IKE (Phase I) Proposal 생성

다음으로, [그림 5]의 가운데 탭인 IKE Policy로 들어와 마찬가지로 우측 상단의 +를 눌러 구성 파일 내용대로 설정하여 줍시다.

[그림 7] IKE (Phase I) Policy 생성

여기서 Name은 이해하기 쉬운 이름으로 아무 이름을 입력해주시면 됩니다. 그리고 두 번째 탭인 IKE Polycy Options를 들어가면 앞선 Proposal에서 설정한 pre-shared-keys에 대한 값을 입력해줄 수 있는데, 이 또한 구성 파일에 들어있는 값을 그대로 붙여넣어주면 됩니다.

다음으로, [그림 5]의 첫 번째 탭인 Gateway로 들어와 마찬가지로 우측 상단의 +를 눌러 구성 파일 내용대로 설정하여 줍시다.

[그림 8] IKE (Phase I) Gateway 생성

앞서 생성한 Policy를 선택하고, Excernal Interface에는 각자의 환경에서 WAN으로 나갈 때 사용되는 인터페이스를 선택하여주면 됩니다. Site to Site VPN의 Remote Peer IP도 구성 파일의 내용에 있는 값을 그대로 입력하여 주고, 기타 옵션들도 동일하게 설정해주면 되겠습니다.

여기까지 설정하였으면 Phase I 구성은 끝난 것입니다.

2. IPSec (Phase II) 구성

Security Services > VPN > IPsec (Phase II) 메뉴로 들어와 Phase I과 마찬가지로 3개의 탭 중 맨 오른쪽의 Proposal을 눌러 우측 상단의 + 버튼을 클릭합니다.

[그림 9] IPSec (Phase II) Proposal 생성

Phase I 때와 같이 구성 파일 내용과 동일한 내용대로 값을 채워넣어가면 됩니다.

다음 두 번째 탭에 있는 Policy도 우측 상단의 + 버튼을 눌러 생성해줍시다.

[그림 10] IPSec (Phase II) Policy 생성

앞서 생성한 Proposal을 선택하여 넘어가면 됩니다.

다음으로, Phase II의 첫 번째 탭인 VPN을 생성하기 이전에 터널링을 위한 인터페이스를 먼저 생성해주어야 합니다. Network > Routing > Ports 메뉴로 이동하여 새로운 인터페이스를 생성해줍시다.

[그림 11] 터널링 인터페이스 생성

마찬가지로 구성 파일 내용에 있는 터널링 IP 대역을 그대로 입력하여 생성해주고, 여기서 인터페이스 번호는 st0.79입니다. 

다시 돌아와서, Phase II의 첫 번째 탭인 VPN을 생성해줍시다. 

[그림 12]  IPSec (Phase II) VPN 생성

앞서 생성했던 Gateway, Policy, Tunnel Interface를 선택하고, IPSec VPN Options 탭에서 VPN 모니터도 구성 파일대로 세팅해줍시다.

여기까지 정상적으로 구성했으면 VPN 터널링은 정상적으로 구성되었을 것입니다.

 

3. IPSec VPN의 Static Routing 추가

Network > Routing > Static Routing 메뉴로 이동해서 Destination IP에 해당하는 클라우드 대역대라면 Next-hop을 [그림 11]에서 생성한 인터페이스로 설정해줍니다.

[그림 12] Static Routing 추가

여기서는 VPC에 해당하는 모든 대역대를 지정해두었고, 해당 대역의 IP는 모두 위에서 생성한 st0.79 인터페이스를 타고 클라우드로 넘어갈 수 있도록 라우팅을 미리 설정해두었습니다.

[그림 14] 생성된 Static Routing 확인

IPSec VPN에서 라우팅까지 구성해주었으면, Commit하여 AWS 상에서 터널링이 잘 구성되었는지 확인하여 줍시다.

[그림 15] VPN Commit 수행

추가로 다른 지역이나 IPSec VPN에 연결된 네트워크 장비를 통해 해당 터널링으로 통신해야 한다면 별도의 네트워크 장비에서도 라우팅을 추가해주어야 합니다. 예를 들어, 백본에 연결된 서버 및 PC에서 위에서 구성한 VPN 터널링을 통해 클라우드와 통신해야 한다면, 아래 [그림 16]과 같이 백본에서 다음 홉을 IPSec VPN으로 타도록 설정해야 합니다.

[그림 16] 백본에서 IPSec VPN으로의 라우팅 추가

 

4. AWS VPN 터널링 상태 확인

위에서 터널링을 성공적으로 구성했다면 다음 [그림 17]과 같이 AWS 상에서 VPN 터널링 1번의 링크가 Up 되어 있는 것을 확인할 수 있습니다.

[그림 17] AWS 상의 VPN 터널링 상태 확인

 

그럼 즐거운 터널링 되세요!😊

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.