[CISCO 보안 아카데미 1기 Part.2] 13일차 정리(BGP 2)

Jin_Hahha·2024년 9월 10일
0


Working with a Transit AS

Transit AS Tasks

  • 다른 먼 거리의 AS 사이에 경로 홍보
  • 먼 거리의 네트워크에 패킷 전송

External Route Propagation

  • TCP 세션만 형성된다면 먼 거리의 네트워크에도 패킷 전송 가능
  • 항상 EBGP를 통해 패킷이 교환됨

Internal Route Propagation

  • Backbone Area를 가로질러 BGP 속성을 전송할 수 있는 프로토콜은 AS 내에서의 BGP, 즉 Internal BGP(IBGP)라고 함
  • 라우팅 테이블에 라우팅 정보가 없어서 Drop하는 라우터를 라우터 블랙홀이라고 함
  • EBGP 경로를 홍보하려면 IBGP 세션이 transit AS Border Router 사이에 형성되어야 함

Interacting with IBGP and EBGP in a Transit AS

BGP Split Horizon

  • BGP는 자신이 판단했을 때 best path라고 생각되는 경로의 neighbor에게 업데이트 정보를 전달하지 않음
  • IBGP로 받은 정보는 IBGP로 전달하지 않음
    • 루프를 막기 위해 다른 IBGP peer에게 전달하지 않음
  • IBGP 세션이 풀 메쉬 형태로 형성되어야 함

IBGP Neighbors

  • 풀 메쉬 조건 때문에 IBGP neighbor는 일반적으로 직접 연결되지 않음

루프백 인터페이스와의 IBGP 세션은 늘 동작하고 있음

  • 물리적 인터페이스가 Down 되더라도, IBGP 세션은 항상 형성되어 있음
  • IBGP 세션은 안정적
    • 물리적 인터페이스 결함은 IBGP 세션을 지우지 않음
  • transit AS내의 결함이 발생한 후에도, BGP recovery 없음
    • 구성된 IGP가 루프백 인터페이스와 다시 경로를 형성할 것
    • IBGP 세션은 영향을 받지 않음

Trnasit Network Using External Next Hops

  • AS 내에서 모든 EBGP peer는 BGP-Speaking 라우터에 의해 통신이 가능해야 함
  • EBGP next hop은 IGP를 통해 다음과 같이 홍보됨
    • 연결된 인터페이스를 Edge Router에서 IGP로 재분배함
    • EBGP neighbor links를 IGP로 포함
      • 이들을 Passive interface로 구성

Trnasit Network Using Edge Routers as Next Hops

  • Alternate Design
    • Edge Router에서 Next-hop 프로세싱이 수정됨
      • Edge Router는 IBGP 업데이트에 자기 자신들을 Edge Router로 홍보
      • 외부 서브넷의 재분배가 필요하지 않음
      • 해당 설계는 neighboring AS에 다중 경로가 존재하는 경우 최적 라우팅이 되지 않을 수 있음

  • Edge Router에서 next-hop processing 변경
  • BGP next-hop processing을 우회하고, 지정된 neighbor로 전송되는 업데이트에서 Local IP 주소를 BGP next-hop으로 알림

EBGP와 IBGP 세션 간의 차이

  • IBGP 업데이트에서 BGP 속성은 변하지 않음
  • BGP Split Horizon으로 인해, IBGP peer로부터 학습된 경로들은 다른 IBGP peer들에게 홍보되지 않음
  • Local Preference는 오직 IBGP 세션만을 거쳐서 홍보됨
  • EBGP peer는 직접 연결되어 있음
    • IBGP peer는 보통 멀리 떨어져 있음
  • 경로를 선택할 때, EBGP 경로를 조금 더 우선시함

Forwarding Packets in a Transit AS

Packet Forwarding in a Transit AS

  • 모든 코어 라우터는 적절한 패킷 포워딩을 위한 external 라우터가 필요
    • 재분배는 IGP 리소스에 과부하를 줄 수 있음
    • 확장성으로 인해 IBGP 선호
  • BGP를 통해 학습된 경로는 라우팅 테이블에 연관된 발신 인터페이스가 존재하지 않음
  • 외부 목적지를 향해 IP Packet을 포워딩하기 위해 반복적인 lookup이 수행됨

BGP and IGP Interaction

  • 이상적으로, BGP와 IGP 간에는 상호작용이 없을 것
    • BGP는 외부, 고객 경로만 제공
    • IGP는 오직 core subnet만 제공
    • IGP는 외부 경로 상태의 영향을 받지 않음
    • BGP는 BGP next-hop이 도달 가능한 상태로 남아 있는 한 내부 네트워크 결함에 영향을 받지 않음
    • BGP와 IGP 사이의 유일한 link는 recursive lookup만 존재해야 함

  • 가끔 BGP와 IGP는 같은 경로를 홍보할 때가 있음
    • 일반적으로 잘못된 네트워크 설계가 원인임
    • 이러한 경우, 경로는 AD 값을 기반으로 EBGP/IGP/BGP 순서로 결정
  • 일반적으로 EBGP는 20, IBGP는 200의 AD를 가짐

Problems with BGP and IGP Interaction

  • IGP 경로가 EBGP로 학습되었을 경우, EBGP 경로는 우선권을 얻음
    • 잘못된 네트워크 디자인, 경로 문제, DoS 공격 가능성이 있음
    • AS Edge에서 inbound prefix-list 필터로 IGP 경로를 보호
    • 라우터는 외부 Source로부터의 local subnets에 대한 정보를 받아서는 안 됨

Multihomed BGP Networks

Business Requirements for Multihomed BGP Networks

  • Multihomed 고객들은 다수의 ISP와 BGP를 맺어야 함
  • Multihomed 고객들은 일반적으로 공인 AS 번호가 필요하고 ISP 독집적인 주소 공간이 필요함

  • 고객은 두 개의 BGP 세션을 구성하고 주소 공간을 홍보

Multihomed Customer Routing Policies

  • Multihomed 고객들은 여러 라우팅 정책이 필요할 수 있음
    • 하나의 ISP만 Primary로 동작하고, 나머지는 Backup이 됨
    • ISP의 고객을 향한 트래픽은 직접 흐르고, 나머지 트래픽은 primary ISP를 통함
    • 특정 지역으로의 모든 트래픽은 하나의 ISP를 통함
    • 특정 목적지로의 트래픽은 오직 하나의 ISP만을 이용함

Influencing BGP Route Selection

  • 인터넷 트래픽은 늘 Primary ISP로 흐름
  • Primary ISP로부터 받은 경로는 Backup ISP로부터 받은 경로보다 우선시
  • BGP의 경로 선택 tool은 가중치 또는 local preference
  • 인터넷 트래픽은 Primary ISP 너머로 흐름
    • Backup ISP의 고객 트래픽은 곧바로 나감
      -경로 선택은 AS 경로에서 AS 번호에 기반하여 수행됨

BGP Filters - Transit Traffic Issue

  • 고객들은 Service Provider의 transit AS가 될 수 있음
  • 다른 Provider에게는 특정 Provider의 경로를 홍보하지 않음

BGP Filters - Routing Update Reliability Issue

  • BGP가 동작 중인 고객들은 Service Provider에게 어떠한 경로라도 전부 홍보할 수 있음
  • Service Provider는 들어오는 업데이트 정보에 대해서 IP prefix를 필터링 해야 함

Employing AS-Path Filters

AS-Path Filtering Scenarios

  • Regular Expression 방법으로 필터링 진행
  • AS 경로에서 특정 AS 기반의 경로를 선택
  • BGP neighbor 중에서 특정 AS의 경로만 허용

AS-Path Regular Expressions

  • AS-Path가 문자열로 변환됨
    • 공백 문자도 문자열에 포함
  • 31이라는 번호를 필터링 할 때 317 / 62316 등, 문자열 관점에서 해당 번호가 들어가는 번호는 전부 선택됨

String Matching - Regular Expressions

String Matching - Alternatives

  • or 연산자를 사용할 수 있음

String Matching - Ranges and Wildcard Characters

  • 단일 문자 또는 범위
  • (.)은 모든 단일 문자 matching을 의미

String Matching - Matching Delimiters

  • ^은 문자열의 시작
  • $는 문자열의 끝
  • _ 모든 문자의 끝을 의미
    • 문자열의 시작, 끝, 공백, tab, comma 등

String Matching - Special Characters

  • \ 는 특수 기호의 의미를 지워 하나의 단일 문자 패턴으로 사용하기 위해 사용

String Matching - Repeating Operators

    • 은 나오지 않거나 더 많이 반복되어 나오는 atom match
  • ? 는 나오지 않거나 단 한 번만 나오는 atom match
    • 는 한 번 나오거나 더 많이 반복되어 나오는 atom match
  • atom은 단일 문자 또는 그룹

String Matching - Sample Regular Expressions

Commonly Used Characters in Expressions

AS-Path Filter Configuration


Using Outbound Route Filtering

Outbound Route Filtering

  • 상대방 라우터에도 Outbound route filtering 기능 활성화 요청을 해야 하기 때문에 잘 사용하지 않음
  • 일반적으로 BGP 트래픽과 CPU 사용량을 줄이기 위해 사용

Applying Route-Maps as BGP Filters

Route-Map Continue

  • continue {sequenceNum}
    • 해당 시퀀스로 바로 넘어가도록 설정
  • continue
    • 바로 다음 시퀀스로 넘어감

Implementing Changes in BGP Policy

Traditional Filtering Limitations

  • 모든 필터는 새로운 업데이트 정보에서만 적용되었음
  • Outbound 라우팅 정책을 변경하기 위해서는 BGP 업데이트 정보를 neighbor로 다시 전송해야 했음
  • Inbound 라우팅 정책을 바꾸기 위해, neighbor에서 다시 업데이트 정보를 전송하도록 강제해야 했음
  • 위의 과정은 BGP 재시작 명령어로만 가능했음

BGP Soft Resoncfiguration

  • Soft Reconfiguration은 CISCO IOS 소프트웨어에서 소개되었음
  • Outbound soft reconfiguration은 완전한 BGP Table을 재전송
    • 기본 설정값이며, 조작할 수 없음
  • Inbound soft reconfiguration이 완전한 neighbor의 BGP 테이블을 라우터 메모리에 저장함

Inbound Soft Reconfiguration Cisco IOS Commands

  • Neighbor 관계의 라우터와 Inbound Soft Reconfiguration 관계 설정

  • BGP 정책 변경 적용 시 작성하는 명령어
  • BGP Session이 끊어지지 않으면서 in 정책 업데이트

Outbound Soft Reconfiguration Cisco IOS Commands

  • BGP Session이 끊어지지 않으면서 out 정책 업데이트

왜 Route-Map을 써야 하는가

  • 일부 상황에서 복잡한 필터가 필요함
    • 특정 AS 번호로부터 오는 IP Prefix 필터
    • 다른 BGP 속성 필터
  • 특별한 경우, 네트워크 관리자가 BGP 속성을 정의해야 할 필요가 있음
  • Route-Map은 두 요구사항 전부의 해결책을 제공

0개의 댓글