Skip to content

Latest commit

 

History

History
200 lines (126 loc) · 10 KB

2.2.vgw-cgw.md

File metadata and controls

200 lines (126 loc) · 10 KB
description
Update : 2020-02-25

2.2 VGW-CGW 연결 구성

AWS Cloud9 기본설정

CGW(Customer Gateway)에 LAB에서 처럼 Public IP로 할당이 가능하지만, 다른 EC2 처럼 사설 IP로 연결 구성 할 수도 있습니다. 이 랩에서는 AWS Cloud9을 통해 기본 제공되는 Cisco CSR1KV 라우터의 기본 템플릿을 손쉽게 변경해서 배포하는 방법을 제공합니다.

1.먼저 Cloud 9을 생성합니다. (AWS Cloud9 서비스에서 아래와 같이 구성을 시작합니다.)

[그림 2.2.1 Cloud9 생성]

2.IDE환경의 이름을 정의합니다.

[그림 2.2.2 IDE 이름 정의]

3.IDE 환경을 아래와 같이 구성합니다.

[그림 2.2.3 Cloud9 환경구성 1]

[그림 2.2.4 Cloud9 환경구성 2]

4.생성 완료 이후 몇 분후에 아래와 같은 화면이 제공됩니다.

[그림 2.2.5 Cloud 9 콘솔 화면]

이제 CGW를 템플릿 기반으로 간단하게 구성하기 위해 다음과 같은 단계를 수행합니다.
5.먼저 "1.2.TGW를 위한 VPC 구성"에서 소개된 git을 Cloud9 콘솔로 Clone합니다.

git clone https://github.com/whchoi98/TGW_CF.git

6.CGW로 접속할 때 사용하는 KeyPem을 Cloud9으로 복사합니다.
좌측 환경 패널로 현재 KeyPem파일을 Drag and Drop으로 아래에 생성된 디렉토리로 끌어 다 놓습니다.

mkdir ./aws_key
mv ./aws_key/whchoi02.pem ~/.ssh/whchoi02.pem
chmod 400 ~/.ssh/whchoi02.pem

[그림 2.2.5 Cloud 9 환경 구성]

7.git에서 복제한 파일 중 랩에서 사용되는 hostfile을 /etc/hosts 파일로 복제합니다.
(랩을 진행하는데 필수 단계는 아닙니다.)

sudo cat hostfile >> /etc/hosts
more /etc/hosts

이제 Cloud9에서 직접 CGW에 접속해서 작업을 할 것입니다.
여기에서는 2개의 사전에 구성된 Shell Script를 통해서 Cisco CSR1KV 를 자동으로 구성할 것입니다.

TGW에 VGW 구성하기

앞서 "2.1 CGW VPC구성" 에서 Cloudformation을 통해 D OCTANK VPC와 필요한 자원, CGW등을 구성하였습니다. 이제 TGW를 구성하고 VGW 설정을 하겠습니다.

[그림 2.2.6 VPC Dashboard에서 Transit Gateway-Create Transit Gateway Attachment 선택]

1.Transit Gateway에서 Attachment를 생성합니다.

[그림2.2.7]에서 현재 사용 중인 TGW를 선택하고, Attachment Type은 VPN을 선택합니다.
VPN Attachment는 "2.1 CGW VPC" 구성에서 Cloudformation으로 생성한 CGW를 선택합니다.
또한 Routing은 BGP를 선택합니다.

[2.2.7 TGW Attachment 설정1]

Tunnel Options에서는 2개의 터널과 터널 연결을 위한 Pre-shared Key값을 설정합니다.
이미 git 에서 복제한 CGW 인 CSR1KV 라우터에 동일한 서브넷과 Pre-shared Key값이 Template으로 설정되어 있습니다. 따라서 반드시 Tunnel 번호 및 서브넷, Pre-shared Key값이 같아야 합니다.

[2.2.8 TGW Attachment 설정2]

설정이 완료되면 아래와 같이 새로운 Attachment가 생성되고 "Pending" 상태가 되고 , 잠시 후 "available"상태로 변경됩니다. 수 분의 시간이 걸릴 수 있습니다.

[2.2.9 TGW Attachment 설정 후 화면]

2.VPN Tunnel 상태를 확인하기 위해 아래에서 확인합니다.
[VPC] - [Virtual Private Network] - [ Site-to-Site VPN Connection]
Down 상태는 이 단계에서는 정상입니다. 아직까지 CGW- Cisco CSR1KV에 대한 구성을 하지 않았기 때문입니다.

[2.2.10 VPN 상태 점검]

3.Transit Attachment를 설정하였기 때문에 이제 Route Table에 연결합니다.
이미 "2.1 CGW VPC 구성" 의 구성도에서 "Green Route Table"에 연결하기로 했습니다.

[VPC] - [ Virtual Private Network] - [Transit Gateway Route Tables]

[2.2.11 Transit Gateway Route Table 생성 1]

[2.2.12 Transit Gateway Route Table 생성 2]

[2.2.13 Transit Gateway Route Table 생성 확인]

Cloud9에서 CGW구성하기

이제 다시 Cloud9으로 돌아와서 Cisco CSR1KV의 CGW를 구성해 보겠습니다.
이 때 중요한 정보는 [그 2.2.10]의 Tunnel 1,2의 Subnet과 Pre-Sharked Key 값입니다.
Tunnel 순번은 논리적이지만 물리적인 연결과 동일하기 때문에 정보가 다를 경우 연결되지 않습니다.

1.Cloud9 콘솔에서 아래와 같이 새로운 config를 생성합니다.

[그림 2.2.14 CSR1KV Shell 정보 확인]

./csr1kv_config_gen.sh 34.235.213.17 34.237.113.214 OCTANK_CSR1KV_A_CONFIG.txt

Cloud9 콘솔에서 Shell을 구성한 이후, 왼쪽 패널에 새로운 파일이 생성된 것을 확인 할 수 있습니다.
2. 해당 파일 (OCTANK_CSR1KV_A_CONIFIG.txt)을 열어서 생성된 파일을 확인합니다.
이 파일을 CSR1KV에 복사해서 넣기를 하면 완료됩니다.

[그림 2.2.15 CSR1KV Config 파일 생성 확인]

3.Cloud9에서 직접 CSR1KV를 접속하여 Config를 복제해 넣도록 하기 위해 아래와 같이 화면 분할을 합니다.

[그림 2.2.16 Cloud9 화면 분할]

4.화면을 분할하고, 분할된 화면에서 새로운 터미널을 불러옵니다.

[그림 2.2.17 Cloud9 분할 화면에서 터미널 열기]

5.분할된 터미널에서 CSR1KV로 접속하기 위해 [Cloudformation] - [Stack] - [DOCTANK-CGW]를 선택하고 Outputs를 선택합니다. 선택하게 되면 SSH 접속 정보를 볼 수 있습니다.
물론 EC2 관리화면에서 CSR1KV를 직접 확인해서 SSH 접속도 가능합니다.

[그림 2.2.18 Cloudformation에서 SSH 접속정보 얻기]

6.접속 정보를 통해서 Cloud9 콘솔에서 SSH로 직접 CSR1KV 라우터에 접속합니다.

ssh -i ~/.ssh/whchoi02.pem [email protected]	

7.접속 이후에 아래와 같이 Hostname을 변경합니다.

config t
hostname CSR1KV-DOCTANK

8.이제 생성된 파일의 내용 전체를 복사하여, 터미널에 붙여 넣습니다.

[그림 2.2.19 생성된 CSR1KV Config File을 CSR1KV로 붙여 넣기]

9.정상적으로 작업이 완료되면 Cloud9 터미널에서 아래와 같이 정보를 확인합니다.

CSR1KV-DOCTANK#show ip interface brief 
Interface              IP-Address      OK? Method Status                Protocol
GigabitEthernet1       10.1.1.31       YES DHCP   up                    up      
Tunnel1                169.254.10.2    YES manual up                    up      
Tunnel2                169.254.11.2    YES manual up                    up      
VirtualPortGroup0      192.168.35.101  YES TFTP   up                    up      

### Tunnel 1,2 가 모두 정상적으로 Up 으로 표기되어야 합니다.

CSR1KV-DOCTANK#show ip bgp summary 
BGP router identifier 169.254.10.2, local AS number 65001
BGP table version is 7, main routing table version 7
5 network entries using 1240 bytes of memory
9 path entries using 1224 bytes of memory
2/2 BGP path/bestpath attribute entries using 576 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3064 total bytes of memory
BGP activity 5/0 prefixes, 9/0 paths, scan interval 60 secs
5 networks peaked at 15:25:03 Feb 27 2020 UTC (00:20:17.845 ago)

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
169.254.10.1    4        65000     125     132        7    0    0 00:20:18        4
169.254.11.1    4        65000     122     131        7    0    0 00:19:50        4

### 생성된 2개의 Tunnel이 모두 BGP에 연결되어 정상적으로 Up이 되어야 합니다.
### 예제에서는 Tunnel Up이 20분 이상 지속되었음을 나타냅니다.
### Up/Down에 시간외의 정보가 나타나면 연결되지 않은 것입니다.

10.다시 AWS 콘솔로 돌아와서 Site-to-Site VPN이 정상적으로 동작하는지 확인합니다.

[VPC] - [Virtual Private Network] - [Site-to-Site VPN]

[그림 2.2.20 VGW-CGW 연결 확인]

이제 모든 연결은 정상적으로 이뤄졌습니다.
TGW 기반의 CGW 트래픽 제어에 대해서 다음 장에서 알아봅니다.

{% hint style="info" %} 해당 웹사이트는 크롬, 파이어폭스, 사파리 웹 브라우저에 최적화되어 있습니다. 인터넷 익스플로러에서는 원할하게 보이지 않을 수 있습니다. {% endhint %}