AWS VPN 또는 Direct Connect를 통한 BGP 연결 장애 문제를 해결하려면 어떻게 해야 하나요?

4분 분량
0

VPN 또는 AWS Direct Connect를 통한 파라미터 불일치로 인해 연결을 설정하지 못하는 BGP 세션을 디버깅하고 싶습니다.

간략한 설명

동적 AWS Site-to-Site VPN 및 AWS Direct Connect 연결을 구성할 때 Border Gateway Protocol(BGP)와 관련된 연결 문제가 발생할 수 있습니다. 이 문제를 해결하려면 먼저 BGP 로그를 분석하고 BGP 협상 프로세스 내에서 특정 장애 지점을 식별해야 합니다.

참고: VPN 터널을 통해 연결을 설정할 수 없거나 유휴 상태인 BGP 세션의 문제를 해결하려면 VPN을 통한 BGP 연결 문제를 해결하려면 어떻게 하나요?를 참조하세요.

직접 연결을 통해 연결을 설정할 수 없거나 유휴 상태인 BGP 세션의 문제를 해결하려면 Direct Connect를 통해 BGP 연결 문제를 해결하려면 어떻게 하나요?를 참조하세요.

해결 방법

고객 게이트웨이에 확인된 BGP 구성이 있고 BGP 피어 IP 간의 핑이 작동하는지 확인하세요. 그런 다음 고객 게이트웨이 장치에서 BGP 피어 IP 간의 트래픽에 대한 패킷 캡처를 수집합니다. 마지막으로 각 BGP 상태에 대해 다음과 같이 데이터를 분석합니다.

BGP 상태

유휴

BGP가 "시작 이벤트"를 기다리는 첫 번째 상태입니다. 시작 이벤트는 새 BGP 이웃을 구성하거나 기존 BGP 피어링을 재설정할 때 발생합니다. 그런 다음 BGP는 일부 리소스를 초기화하고 ConnectRetry 타이머를 재설정하고 원격 BGP 이웃에 대한 TCP 연결을 시작합니다.

연결

이 단계에서 BGP는 TCP 3방향 핸드셰이크가 완료될 때까지 기다립니다. 이 단계가 성공적으로 완료되면 연결이 OpenSent 상태로 이동합니다.

2021-07-04 22:50:20 169.254.60.146 169.254.60.145 TCP 74 34516 → 179 [SYN] Seq=0 Win=2920 Len=0 MSS=1460 SACK_PERM TSval=3030456 TSecr=0 WS=1
2021-07-04 22:50:20.719228 169.254.60.145 169.254.60.146 TCP 74	179 → 34516 [SYN, ACK] Seq=0 Ack=1 Win=26844 Len=0 MSS=1375 TSval=64921081 TSecr=3030456 WS=128
2021-07-04 22:50:20.719453 169.254.60.146 169.254.60.145 TCP 66	34516 → 179 [ACK] Seq=1 Ack=1 Win=2920 Len=0 TSval=3030476 TSecr=64921081

연결 또는 ConnectRetry가 실패하면 연결은 활성 상태로 유지되고 OpenSent 상태로 전환되지 않습니다.

연결 로그를 확인하여 실패 원인을 파악하세요.

  • 동적 VPN의 경우, TCP 포트 179에서 "텔넷" 테스트를 수행하여 두 BGP 이웃 간에 TCP 연결이 있는지 확인합니다.
  • TCP 연결이 없는 경우, 로그를 확인하여 TCP 연결 중에 오류나 패킷 드롭이 있었는지 확인하세요.
  • BGP, 고객 게이트웨이, AWS 모두에서 이웃의 IP 주소가 올바르게 구성되어 있는지 확인합니다.
  • Direct Connect 가상 인터페이스를 사용하는 경우 라우터에 올바른 BGP 인증(MD5 비밀번호)을 입력했는지 확인합니다.

OpenSent

상대방에게 OPEN 메시지를 보낸 후 BGP는 이 상태에서 OPEN 응답을 기다립니다. 성공적인 회신을 받으면 BGP 상태는 OpenConfirm으로 이동하고 피어에게 KEEPALIVE를 보냅니다. 연결에 실패하면 BGP는 다시 유휴 또는 활성 상태로 돌아갑니다.

Border Gateway Protocol - OPEN Message
Type: OPEN Message (1)  
Version: 4   
My AS: 65000  
Hold Time: 30  
BGP Identifier: 54.241.242.80

OpenSent 메시지에서 피어는 버전 번호, AS 번호, 보류 타이머(기본값: VPN을 통한 BGP의 경우 30초, Direct Connect를 통한 BGP의 경우 90초) 및 BGP 식별자 IP 주소를 보냅니다. BGP 설정에 실패한 경우, 로그를 확인하여 이웃이 BGP 파라미터를 사용하여 OPEN 메시지를 올바르게 송수신했는지 확인하세요. 또한 OpenSent 로그를 확인하여 실패 원인을 파악하세요.

참고: AWS는 대기 시간 값으로 0을 허용하지 않습니다.

OpenConfirm

BGP 상태는 최종 상태(설정됨)에 도달하기까지 한 단계 남았습니다. BGP는 이 상태에서 피어의 KEEPALIVE를 기다립니다. 성공하면 상태가 설정됨으로 이동합니다. 그렇지 않으면 오류에 따라 유휴 상태 또는 활성 상태로 다시 이동합니다.

65	2021-07-04 22:50:20.744297	169.254.60.146	169.254.60.145	BGP	85	KEEPALIVE Message
66	2021-07-04 22:50:20.765323	169.254.60.145	169.254.60.146	BGP	85	KEEPALIVE Message

로그를 확인하여 KEEPALIVE 메시지가 올바르게 송수신되었는지 확인합니다.

설정됨

이 상태에서는 BGP가 피어 간에 정보를 교환합니다. 정보는 업데이트(라우팅 광고 ), KEEPALIVE 또는 알림으로 구성됩니다.

Border Gateway Protocol - UPDATE Message
Path attributes
Path Attribute - AS_PATH: 65000
Path Attribute - NEXT_HOP: 169.254.60.146
Network Layer Reachability Information (NLRI)
   192.168.0.0/16

연결이 설정되지 않은 경우 다음을 수행하세요.

  • 로그를 확인하여 라우터가 업데이트를 올바르게 교환하고 있는지 확인합니다. 광고된 접두사가 예상 경로와 일치하는지 확인합니다.
  • BGP 필터 또는 접두사 목록이 라우트 테이블 내의 경로 전파를 막고 있는지 확인합니다.
  • 피어 라우팅 테이블에서 광고된 경로 항목을 확인합니다.
  • 가상 게이트웨이의 VPN 또는 Direct Connect 가상 인터페이스에 대해 BGP 세션이 설정됨에서 유휴 상태로 전환되는 것을 볼 수 있습니다. 피어가 BGP 세션을 통해 100개 미만의 경로를 광고하고 있는지 확인하세요.
AWS 공식
AWS 공식업데이트됨 일 년 전