본문 바로가기
Azure/Network

Azure VPN Gateway - Region 이중화, BGP 활성화 S2S VPN Gateway 구성 방법

by Shuaaaa 2023. 11. 2.

이전글 ▶ Part 3 = 다중 홉, BGP 비활성화하여 S2S VPN으로만 어떻게 구성하는지!

이번글 ▶ Part 4 = 다중 홉, BGP 활성화하여 S2S VPN으로만 어떻게 구성하는지!

 

 Part 3에서는 "BGP를 활성화 하지 않고 다중 홉 네트워크 환경을 구성할 수 있다"에 초점을 두었지만,

이번 글은 "BGP를 활성화 할 때, 이런것 까지 가능하다"에 초점을 둡니다.

 

Part 3에서 Site A - B - C의 시나리오에서 한단계 발전한 것이 Part 4 구성도입니다.

Site A - B 연결이 끊어질 경우를 대비하여 다른 Region에 Site BB를 두어, Site A에서 Site C로 가는 경로를 이중화 하였습니다.

Part 4 구성도

위와 같이 구성하였을 때 제일 큰 이슈는...

Site A에서 C로 통신하는 도중 Site A - B의 연결이 죽었을 때, 트래픽을 Site A - BB로 Failover를 어떻게 수행할까요?

Dynamic Routing Protocol인 BGP 활성화를 통하여 수행 가능합니다.

 

Site A-B 연결 끊김에 대비하여 Site BB가 존재하고, Site BB가 Site A&C와 연결되어 있습니다. 즉 A에서 C로 갈수 있는 경로가 총 2개인 것이죠. (1) A - B - C (2) A - BB - C

 

BGP에 의하여 Virtual Network Gateway끼리 (1) A - B - C (2) A - BB - C 라우팅 정보를 동적으로 교환하고, 트래픽을 보낼 때 "최적의 경로"를 선택하게 됩니다. 동일한 목적지에 대한 두 개의 경로 중 하나가 실패하면, BGP는 자동적으로 다른 경로로 Fail-over 합니다. 이 자체가 동적 라우팅 프로토콜의 기능 중 하나이며, 네트워크 안정성을 제공합니다.

 

실제로 BGP 활성화된 VPN Gateways 간 Fail-ver이 되는지 확인해보겠습니다.

본 실습은 Azure에서 이루어 졌으며, 좀 더 자세하게 구성도를 설명하고자 다시 그려봤습니다.

일단 구성도에셔 연결하기 위해 어떤 Resource를 생성해야하는지 작성하겠습니다.

Azure VPN Gateway는 무조건 Virtual Network Gateway (VGW), Local Network Gateway (LGW), Connection (CON)으로 구성되어 있습니다. 또한, VGW, LGW, CON 모두 다 BGP 활성화 하여야 합니다.

 

<Virtual Network Gateway>

  • siteA-vgw (siteA-vnet 위에 생성되며 siteA-vgw-pip로 접속 가능합니다.) 
    *ASN: 65510 (지정하는 값 입니다.)
  • siteB-vgw (siteB-vnet, siteB-vgw-pip)
    * ASN: 65511  (지정하는 값 입니다.)
  • siteBB-vgw (siteBB-vnet, siteBB-vgw-pip)
    * ASN: 65512  (지정하는 값 입니다.)
  • siteC-vgw (siteC-vnet, siteC-vgw-pip)
    * ASN: 65513  (지정하는 값 입니다.)

VGW에서 BGP를 활성화할 때, VGW에 각자 다른 ASN을 부여해야 하며 Azure에서는 아래의 레인지의 ASN만 지정할 수 있습니다. https://learn.microsoft.com/ko-kr/azure/vpn-gateway/vpn-gateway-vpn-faq#what-private-asns-can-i-use

  • 64512-65514 및 65521-65534

<Local Gateway>

LGW에서 BGP를 활성화 하는 경우 Private Network Address를 입력하지 않아도 됩니다. BGP 활성화를 할 경우, BGP 프로토콜이 본인의 Routing Table을 Advertise (홍보)하는 프로토콜 이기 때문에 오히려 수동으로 작성하여 입력할 경우 혼란을 빚을 수 있습니다.

  1. siteA2B-lgw (A -> B 연결할 경우, B VGW에 대한 내용을 담고 있는 LGW 입니다.)
    Public IP: siteB-vgw-pip
    ASN: 65511
    BGP Peer IP: siteB-vgw에서 BGP 활성화 했을 경우 확인 가능합니다.
  2. siteB2A-lgw (B -> A 연결할 경우, A VGW 에 대한 내용을 담고 있는 LGW 입니다.)
    Public IP: siteA-vgw-pip
    ASN: 65510
    BGP Peer IP: siteA-vgw에서 BGP 활성화 했을 경우 확인 가능합니다
  3. siteB2C-lgw (...C VGW 에 대한 내용 담고 있음)
  4. siteC2B-lgw (...B VGW 에 대한 내용 담고 있음)
  5. siteA2BB-lgw (...BB VGW 에 대한 내용 담고 있음)
  6. siteBB2A-lgw (...A VGW 에 대한 내용 담고 있음)
  7. siteBB2C-lgw (...C VGW 에 대한 내용 담고 있음)
  8. siteC2BB-lgw (...BB VGW 에 대한 내용 담고 있음)

<Connection>

VGW와 LGW를 연결해 주는 Connection입니다.

이때, 생성된 VGW와 LGW를 활용해서 Connection을 만들면 됩니다.

  1. siteA2B-con
    siteA-vgw & siteA2B-lgw 연결 (BGP 활성 ON 필수)
  2. siteB2A-con
    siteB-vgw & siteB2A-lgw 연결 (BGP 활성 ON 필수)
  3. siteB2C-con (...동일한 컨셉)
  4. siteC2B-con
  5. siteA2BB-con
  6. siteBB2A-con
  7. siteBB2C-con
  8. siteC2BB-con

위와 같이 BGP가 완전히 모두 활성화 된 네트워크를 만들었습니다.

이제 Site A-B의 연결이 죽었을 때, Site A-BB의 연결로 자연스럽게 Traffic 이 넘어가는 지 확인해 보겠습니다.

먼저 Site A 와 Site C에 Linux VM을 만듭니다.

Site A의 경우 Public IP로 접속할 것이며, Site C의 Private IP로 Site A에서 통신할 수 있는지 Ping Check를 할 예정입니다.

A-B연결을 끊었을 때, A -> C 핑이 계속 끊임 없이 간다면 A-BB로의 Failover가 성공적으로 이루어 진 것입니다. 반대로, A -> C 핑이 끊겼다면 A-BB로의 Failover가 이루어지지 않는 것이겠죠.

 

Site A VM에 ssh <username>@<public IP>로 접근합니다.

>> ping <Site C VM's private IP> | while read pong; do echo "$(date): $pong"; done >> ping.txt

입력하면, 1초마다 Site C VM에게 ICMP 패킷 보내는 결과를 ping.txt로 기록할 수 있습니다. 

입력 후, A -> B & A -> BB 연결을 끊은 다음 ping.txt를 확인하여서 Packet Loss가 발생하였는지 확인해보겠습니다.

<테스트 결과>

1. Site A -> B 연결 삭제, Site A -> BB 연결 삭제 ([결과1].txt 참고)

- 07:05A -> B 연결 삭제했을 때 Packet Loss 발생 X

- 07:07 A -> BB 연결 이어서 삭제했을 때 Site D로 완전히 연결 중단

더보기

Fri Oct 27 07:04:51 UTC 2023: PING 10.6.1.4 (10.6.1.4) 56(84) bytes of data.
Fri Oct 27 07:04:51 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=1 ttl=64 time=245 ms
Fri Oct 27 07:04:52 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=2 ttl=64 time=245 ms
Fri Oct 27 07:04:53 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=3 ttl=64 time=245 ms
Fri Oct 27 07:04:54 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=4 ttl=64 time=245 ms
Fri Oct 27 07:04:55 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=5 ttl=64 time=245 ms
Fri Oct 27 07:04:56 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=6 ttl=64 time=258 ms
Fri Oct 27 07:04:57 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=7 ttl=64 time=245 ms
Fri Oct 27 07:04:58 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=8 ttl=64 time=247 ms
Fri Oct 27 07:04:59 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=9 ttl=64 time=245 ms
Fri Oct 27 07:05:00 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=10 ttl=64 time=245 ms
Fri Oct 27 07:05:01 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=11 ttl=64 time=246 ms
Fri Oct 27 07:05:02 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=12 ttl=64 time=245 ms
Fri Oct 27 07:05:03 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=13 ttl=64 time=245 ms
Fri Oct 27 07:05:04 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=14 ttl=64 time=247 ms
Fri Oct 27 07:05:05 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=15 ttl=64 time=245 ms
Fri Oct 27 07:05:06 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=16 ttl=64 time=245 ms
Fri Oct 27 07:05:07 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=17 ttl=64 time=248 ms
Fri Oct 27 07:05:08 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=18 ttl=64 time=248 ms
Fri Oct 27 07:05:09 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=19 ttl=64 time=252 ms
Fri Oct 27 07:05:10 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=20 ttl=64 time=246 ms
Fri Oct 27 07:05:11 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=21 ttl=64 time=247 ms
Fri Oct 27 07:05:12 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=22 ttl=64 time=245 ms
Fri Oct 27 07:05:13 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=23 ttl=64 time=246 ms
Fri Oct 27 07:05:14 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=24 ttl=64 time=246 ms
Fri Oct 27 07:05:15 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=25 ttl=64 time=245 ms
Fri Oct 27 07:05:16 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=26 ttl=64 time=246 ms
Fri Oct 27 07:05:17 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=27 ttl=64 time=255 ms
Fri Oct 27 07:05:18 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=28 ttl=64 time=246 ms
Fri Oct 27 07:05:19 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=29 ttl=64 time=249 ms
Fri Oct 27 07:05:20 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=30 ttl=64 time=251 ms
Fri Oct 27 07:05:21 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=31 ttl=64 time=266 ms
Fri Oct 27 07:05:24 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=34 ttl=64 time=307 ms
Fri Oct 27 07:05:25 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=35 ttl=64 time=305 ms
Fri Oct 27 07:05:26 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=36 ttl=64 time=329 ms
Fri Oct 27 07:05:27 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=37 ttl=64 time=293 ms
Fri Oct 27 07:05:28 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=38 ttl=64 time=291 ms
Fri Oct 27 07:05:29 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=39 ttl=64 time=291 ms
Fri Oct 27 07:05:30 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=40 ttl=64 time=291 ms
Fri Oct 27 07:05:31 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=41 ttl=64 time=293 ms
Fri Oct 27 07:05:32 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=42 ttl=64 time=291 ms
Fri Oct 27 07:05:33 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=43 ttl=64 time=291 ms
Fri Oct 27 07:05:34 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=44 ttl=64 time=292 ms
Fri Oct 27 07:05:35 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=45 ttl=64 time=291 ms
Fri Oct 27 07:05:36 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=46 ttl=64 time=292 ms
Fri Oct 27 07:05:37 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=47 ttl=64 time=294 ms
Fri Oct 27 07:05:38 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=48 ttl=64 time=399 ms
Fri Oct 27 07:05:39 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=49 ttl=64 time=292 ms
Fri Oct 27 07:05:40 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=50 ttl=64 time=294 ms
Fri Oct 27 07:05:41 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=51 ttl=64 time=291 ms
Fri Oct 27 07:05:42 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=52 ttl=64 time=293 ms
Fri Oct 27 07:05:43 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=53 ttl=64 time=292 ms
Fri Oct 27 07:05:44 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=54 ttl=64 time=293 ms
Fri Oct 27 07:05:45 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=55 ttl=64 time=361 ms
Fri Oct 27 07:05:46 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=56 ttl=64 time=292 ms
Fri Oct 27 07:05:47 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=57 ttl=64 time=295 ms
Fri Oct 27 07:05:48 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=58 ttl=64 time=291 ms
Fri Oct 27 07:05:49 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=59 ttl=64 time=309 ms
Fri Oct 27 07:05:50 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=60 ttl=64 time=292 ms
Fri Oct 27 07:05:51 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=61 ttl=64 time=292 ms
Fri Oct 27 07:05:52 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=62 ttl=64 time=299 ms
Fri Oct 27 07:05:53 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=63 ttl=64 time=292 ms
Fri Oct 27 07:05:54 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=64 ttl=64 time=291 ms
Fri Oct 27 07:05:55 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=65 ttl=64 time=292 ms
Fri Oct 27 07:05:56 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=66 ttl=64 time=293 ms
Fri Oct 27 07:05:57 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=67 ttl=64 time=293 ms
Fri Oct 27 07:05:58 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=68 ttl=64 time=293 ms
Fri Oct 27 07:05:59 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=69 ttl=64 time=291 ms
Fri Oct 27 07:06:00 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=70 ttl=64 time=290 ms
Fri Oct 27 07:06:01 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=71 ttl=64 time=292 ms
Fri Oct 27 07:06:02 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=72 ttl=64 time=291 ms
Fri Oct 27 07:06:03 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=73 ttl=64 time=292 ms
Fri Oct 27 07:06:04 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=74 ttl=64 time=291 ms
Fri Oct 27 07:06:05 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=75 ttl=64 time=320 ms
Fri Oct 27 07:06:06 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=76 ttl=64 time=291 ms
Fri Oct 27 07:06:07 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=77 ttl=64 time=291 ms
Fri Oct 27 07:06:08 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=78 ttl=64 time=292 ms
Fri Oct 27 07:06:09 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=79 ttl=64 time=290 ms
Fri Oct 27 07:06:10 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=80 ttl=64 time=292 ms
Fri Oct 27 07:06:11 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=81 ttl=64 time=291 ms
Fri Oct 27 07:06:12 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=82 ttl=64 time=292 ms
Fri Oct 27 07:06:13 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=83 ttl=64 time=291 ms
Fri Oct 27 07:06:14 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=84 ttl=64 time=291 ms
Fri Oct 27 07:06:15 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=85 ttl=64 time=292 ms
Fri Oct 27 07:06:16 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=86 ttl=64 time=291 ms
Fri Oct 27 07:06:17 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=87 ttl=64 time=305 ms
Fri Oct 27 07:06:18 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=88 ttl=64 time=291 ms
Fri Oct 27 07:06:19 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=89 ttl=64 time=291 ms
Fri Oct 27 07:06:20 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=90 ttl=64 time=292 ms
Fri Oct 27 07:06:21 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=91 ttl=64 time=294 ms
Fri Oct 27 07:06:22 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=92 ttl=64 time=292 ms
Fri Oct 27 07:06:23 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=93 ttl=64 time=291 ms
Fri Oct 27 07:06:24 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=94 ttl=64 time=296 ms
Fri Oct 27 07:06:25 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=95 ttl=64 time=291 ms
Fri Oct 27 07:06:26 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=96 ttl=64 time=293 ms
Fri Oct 27 07:06:27 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=97 ttl=64 time=293 ms
Fri Oct 27 07:06:28 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=98 ttl=64 time=292 ms
Fri Oct 27 07:06:29 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=99 ttl=64 time=293 ms
Fri Oct 27 07:06:30 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=100 ttl=64 time=292 ms
Fri Oct 27 07:06:31 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=101 ttl=64 time=291 ms
Fri Oct 27 07:06:32 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=102 ttl=64 time=293 ms
Fri Oct 27 07:06:33 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=103 ttl=64 time=291 ms
Fri Oct 27 07:06:34 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=104 ttl=64 time=292 ms
Fri Oct 27 07:06:35 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=105 ttl=64 time=292 ms
Fri Oct 27 07:06:36 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=106 ttl=64 time=293 ms
Fri Oct 27 07:06:37 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=107 ttl=64 time=291 ms
Fri Oct 27 07:06:38 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=108 ttl=64 time=292 ms
Fri Oct 27 07:06:39 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=109 ttl=64 time=291 ms
Fri Oct 27 07:06:40 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=110 ttl=64 time=318 ms
Fri Oct 27 07:06:41 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=111 ttl=64 time=291 ms
Fri Oct 27 07:06:42 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=112 ttl=64 time=291 ms
Fri Oct 27 07:06:43 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=113 ttl=64 time=295 ms
Fri Oct 27 07:06:44 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=114 ttl=64 time=291 ms
Fri Oct 27 07:06:45 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=115 ttl=64 time=290 ms
Fri Oct 27 07:06:46 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=116 ttl=64 time=292 ms
Fri Oct 27 07:06:47 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=117 ttl=64 time=325 ms
Fri Oct 27 07:06:48 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=118 ttl=64 time=291 ms
Fri Oct 27 07:06:49 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=119 ttl=64 time=292 ms
Fri Oct 27 07:06:50 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=120 ttl=64 time=292 ms
Fri Oct 27 07:06:51 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=121 ttl=64 time=291 ms
Fri Oct 27 07:06:52 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=122 ttl=64 time=291 ms
Fri Oct 27 07:06:53 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=123 ttl=64 time=292 ms
Fri Oct 27 07:06:54 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=124 ttl=64 time=291 ms
Fri Oct 27 07:06:55 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=125 ttl=64 time=295 ms
Fri Oct 27 07:06:56 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=126 ttl=64 time=296 ms
Fri Oct 27 07:06:57 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=127 ttl=64 time=292 ms
Fri Oct 27 07:06:58 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=128 ttl=64 time=291 ms
Fri Oct 27 07:06:59 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=129 ttl=64 time=291 ms
Fri Oct 27 07:07:00 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=130 ttl=64 time=292 ms
Fri Oct 27 07:07:01 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=131 ttl=64 time=292 ms
Fri Oct 27 07:07:02 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=132 ttl=64 time=291 ms
Fri Oct 27 07:07:03 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=133 ttl=64 time=297 ms
Fri Oct 27 07:07:04 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=134 ttl=64 time=312 ms
Fri Oct 27 07:07:05 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=135 ttl=64 time=294 ms
Fri Oct 27 07:07:06 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=136 ttl=64 time=450 ms
Fri Oct 27 07:07:07 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=137 ttl=64 time=293 ms
Fri Oct 27 07:07:08 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=138 ttl=64 time=292 ms
Fri Oct 27 07:07:09 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=139 ttl=64 time=296 ms
Fri Oct 27 07:07:10 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=140 ttl=64 time=445 ms
Fri Oct 27 07:07:11 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=141 ttl=64 time=466 ms
Fri Oct 27 07:07:12 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=142 ttl=64 time=523 ms
Fri Oct 27 07:07:13 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=143 ttl=64 time=422 ms
Fri Oct 27 07:07:14 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=144 ttl=64 time=291 ms
Fri Oct 27 07:07:15 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=145 ttl=64 time=310 ms
Fri Oct 27 07:07:16 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=146 ttl=64 time=292 ms
Fri Oct 27 07:07:17 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=147 ttl=64 time=292 ms
Fri Oct 27 07:07:18 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=148 ttl=64 time=292 ms
Fri Oct 27 07:07:19 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=149 ttl=64 time=310 ms

2. Site A -> BB 연결 삭제, Site A -> B 연결 삭제 ([결과2].txt 참고)

- 07:15 A -> BB 연결 삭제했을 때 Packet Loss 발생 X

- 07:16 A -> B 연결 이어서 삭제했을 때 Site D로 완전히 연결 중단

더보기

Fri Oct 27 07:14:41 UTC 2023: PING 10.6.1.4 (10.6.1.4) 56(84) bytes of data.
Fri Oct 27 07:14:41 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=1 ttl=64 time=192 ms
Fri Oct 27 07:14:42 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=2 ttl=64 time=198 ms
Fri Oct 27 07:14:43 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=3 ttl=64 time=207 ms
Fri Oct 27 07:14:44 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=4 ttl=64 time=245 ms
Fri Oct 27 07:14:45 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=5 ttl=64 time=193 ms
Fri Oct 27 07:14:46 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=6 ttl=64 time=191 ms
Fri Oct 27 07:14:47 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=7 ttl=64 time=191 ms
Fri Oct 27 07:14:48 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=8 ttl=64 time=192 ms
Fri Oct 27 07:14:49 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=9 ttl=64 time=192 ms
Fri Oct 27 07:14:50 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=10 ttl=64 time=193 ms
Fri Oct 27 07:14:51 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=11 ttl=64 time=196 ms
Fri Oct 27 07:14:52 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=12 ttl=64 time=230 ms
Fri Oct 27 07:14:53 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=13 ttl=64 time=209 ms
Fri Oct 27 07:14:54 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=14 ttl=64 time=259 ms
Fri Oct 27 07:14:55 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=15 ttl=64 time=227 ms
Fri Oct 27 07:14:56 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=16 ttl=64 time=206 ms
Fri Oct 27 07:14:57 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=17 ttl=64 time=363 ms
Fri Oct 27 07:14:58 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=18 ttl=64 time=564 ms
Fri Oct 27 07:14:59 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=19 ttl=64 time=562 ms
Fri Oct 27 07:15:00 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=20 ttl=64 time=582 ms
Fri Oct 27 07:15:01 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=21 ttl=64 time=214 ms
Fri Oct 27 07:15:02 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=22 ttl=64 time=212 ms
Fri Oct 27 07:15:03 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=23 ttl=64 time=202 ms
Fri Oct 27 07:15:04 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=24 ttl=64 time=192 ms
Fri Oct 27 07:15:05 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=25 ttl=64 time=192 ms
Fri Oct 27 07:15:06 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=26 ttl=64 time=191 ms
Fri Oct 27 07:15:07 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=27 ttl=64 time=192 ms
Fri Oct 27 07:15:08 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=28 ttl=64 time=193 ms
Fri Oct 27 07:15:09 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=29 ttl=64 time=192 ms
Fri Oct 27 07:15:10 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=30 ttl=64 time=192 ms
Fri Oct 27 07:15:11 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=31 ttl=64 time=191 ms
Fri Oct 27 07:15:12 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=32 ttl=64 time=195 ms
Fri Oct 27 07:15:13 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=33 ttl=64 time=288 ms
Fri Oct 27 07:15:14 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=34 ttl=64 time=195 ms
Fri Oct 27 07:15:15 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=35 ttl=64 time=191 ms
Fri Oct 27 07:15:16 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=36 ttl=64 time=212 ms
Fri Oct 27 07:15:17 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=37 ttl=64 time=235 ms
Fri Oct 27 07:15:18 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=38 ttl=64 time=205 ms
Fri Oct 27 07:15:19 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=39 ttl=64 time=208 ms
Fri Oct 27 07:15:20 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=40 ttl=64 time=212 ms
Fri Oct 27 07:15:22 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=41 ttl=64 time=1194 ms
Fri Oct 27 07:15:22 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=42 ttl=64 time=192 ms
Fri Oct 27 07:15:23 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=43 ttl=64 time=191 ms
Fri Oct 27 07:15:24 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=44 ttl=64 time=191 ms
Fri Oct 27 07:15:25 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=45 ttl=64 time=191 ms
Fri Oct 27 07:15:26 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=46 ttl=64 time=191 ms
Fri Oct 27 07:15:27 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=47 ttl=64 time=192 ms
Fri Oct 27 07:15:28 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=48 ttl=64 time=192 ms
Fri Oct 27 07:15:29 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=49 ttl=64 time=191 ms
Fri Oct 27 07:15:30 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=50 ttl=64 time=193 ms
Fri Oct 27 07:15:31 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=51 ttl=64 time=192 ms
Fri Oct 27 07:15:32 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=52 ttl=64 time=193 ms
Fri Oct 27 07:15:33 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=53 ttl=64 time=195 ms
Fri Oct 27 07:15:34 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=54 ttl=64 time=193 ms
Fri Oct 27 07:15:35 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=55 ttl=64 time=193 ms
Fri Oct 27 07:15:36 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=56 ttl=64 time=191 ms
Fri Oct 27 07:15:37 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=57 ttl=64 time=192 ms
Fri Oct 27 07:15:38 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=58 ttl=64 time=196 ms
Fri Oct 27 07:15:39 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=59 ttl=64 time=193 ms
Fri Oct 27 07:15:40 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=60 ttl=64 time=192 ms
Fri Oct 27 07:15:41 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=61 ttl=64 time=193 ms
Fri Oct 27 07:15:42 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=62 ttl=64 time=195 ms
Fri Oct 27 07:15:43 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=63 ttl=64 time=277 ms
Fri Oct 27 07:15:44 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=64 ttl=64 time=193 ms
Fri Oct 27 07:15:45 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=65 ttl=64 time=192 ms
Fri Oct 27 07:15:46 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=66 ttl=64 time=192 ms
Fri Oct 27 07:15:47 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=67 ttl=64 time=194 ms
Fri Oct 27 07:15:48 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=68 ttl=64 time=191 ms
Fri Oct 27 07:15:49 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=69 ttl=64 time=193 ms
Fri Oct 27 07:15:50 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=70 ttl=64 time=192 ms
Fri Oct 27 07:15:51 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=71 ttl=64 time=192 ms
Fri Oct 27 07:15:52 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=72 ttl=64 time=194 ms
Fri Oct 27 07:15:53 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=73 ttl=64 time=198 ms
Fri Oct 27 07:15:54 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=74 ttl=64 time=192 ms
Fri Oct 27 07:15:55 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=75 ttl=64 time=192 ms
Fri Oct 27 07:15:56 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=76 ttl=64 time=191 ms
Fri Oct 27 07:15:57 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=77 ttl=64 time=191 ms
Fri Oct 27 07:15:58 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=78 ttl=64 time=192 ms
Fri Oct 27 07:15:59 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=79 ttl=64 time=193 ms
Fri Oct 27 07:16:00 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=80 ttl=64 time=192 ms
Fri Oct 27 07:16:01 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=81 ttl=64 time=197 ms
Fri Oct 27 07:16:02 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=82 ttl=64 time=191 ms
Fri Oct 27 07:16:03 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=83 ttl=64 time=192 ms
Fri Oct 27 07:16:04 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=84 ttl=64 time=192 ms
Fri Oct 27 07:16:05 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=85 ttl=64 time=193 ms
Fri Oct 27 07:16:06 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=86 ttl=64 time=192 ms
Fri Oct 27 07:16:07 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=87 ttl=64 time=191 ms
Fri Oct 27 07:16:08 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=88 ttl=64 time=195 ms
Fri Oct 27 07:16:09 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=89 ttl=64 time=191 ms
Fri Oct 27 07:16:10 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=90 ttl=64 time=192 ms
Fri Oct 27 07:16:11 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=91 ttl=64 time=192 ms
Fri Oct 27 07:16:12 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=92 ttl=64 time=197 ms
Fri Oct 27 07:16:13 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=93 ttl=64 time=192 ms
Fri Oct 27 07:16:14 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=94 ttl=64 time=194 ms
Fri Oct 27 07:16:15 UTC 2023: 64 bytes from 10.6.1.4: icmp_seq=95 ttl=64 time=268 ms

 

<결론>

다중 홉 VPN 환경에서, 경로 이중화를 하였을 때 BGP가 활성화 되어 있다면 Packet Loss 없이 Failover 가능합니다.

 

(궁금하거나 잘못된 점 있다면 바로 알려주세요!)

 

실제로 BGP 활성화 하지 않고 동일하게 테스트 하였을 때, A→B / A→BB중 한개의 연결을 끊어면 바로 Ping도 끊어집니다.

 

 

 

댓글