본문 바로가기
네트워크/BGP

Regular Expressions Sample Configuration(Cisco IOL)

by 최개미의 세계 2024. 7. 8.
728x90
반응형

1. Regular Expressions Sample Configuration 구성도

  • 테스트 장비
    • 에뮬레이터 : EVE-NG
    • 라우터 : Cisco IOL I86BI_LINUX-ADVENTERPRISEK9-M, Version 15.5(2)T
  • ‘AS-Path Filtering’으로 특정 AS의 NLRI 정보를 BGP Update 허용(or 거부)할 것인지 설정 가능
  • 이번 글에서 AS-Path Filtering 기능을 테스트하기 위해 AS-Path Filtering에 관련된 모든 명령어는 R1에서 진행

 

  • 위 BGP Configuration의 캡처 자료는 BGP 라우터인 R1을 예시로 하였으며 다른 모든 BGP 라우터도 이와 비슷하게 설정
  • 기본적으로 각 BGP 라우터는 Direct로 연결된 BGP 라우터와 eBGP Peer를 맺으며 Local Loopback Interface를 eBGP Peer로 광고

 

 

2. Regular Expressions Sample Configuration

1) Regular Expressions : ^$

  • ^$는 문자열의 시작과 끝이 비어있는 것을 뜻하므로 AS-Path가 Empty인 것을 의미
  • eBGP Peer로 Local-AS의 NLRI만 광고할 것으로 예상

 

  • Export만 적용하였으므로 eBGP Peer에서 수신하는 정보는 AS-Path Filter를 적용하기 전과 동일

 

  • 예상한 것과 같이 eBGP Peer에게 Local-AS에서 생성된 NLRI만 광고

 

2) Regular Expressions : ^2

  • ^2는 AS-Path 중, 맨 왼쪽(마지막) AS가 2라는 것을 의미
  • R1은 인접한 AS 2가 생성한 NLRI 및 AS 2를 지나온 NLRI를 허용할 것으로 예상

 

  • 예상한 것과 같이 인접한 AS 2가 생성한 NLRI 및 AS 2를 지나온 NLRI를 허용

 

  • ^3은 AS-Path 중, 맨 왼쪽(마지막) AS가 3이라는 것을 의미
  • R1은 AS 3과 인접한 AS가 아니므로 어떠한 NLRI도 허용하지 않을 것으로 예상

 

  • 예상한 것과 같이 R1은 AS 3과 인접한 AS가 아니므로 R1은 어떠한 NLRI 정보도 허용하지 않음

 

3) Regular Expressions : ^2$

  • ^2$는 AS-Path에 ‘2’만 존재하는 것을 의미
  • R1은 인접한 AS 2가 생성하여 광고하는 NLRI 정보만 허용할 것으로 예상

 

  • 예상한 것과 같이 인접한 AS 2가 생성하여 광고하는 NLRI 정보만 허용

 

  • ^3$는 AS-Path에 ‘3’만 존재하는 것을 의미
  • R1은 AS 3과 인접한 AS가 아니므로 어떠한 NLRI도 허용하지 않을 것으로 예상

 

  • 예상한 것과 같이 R1은 AS 3과 인접한 AS가 아니므로 R1은 어떠한 NLRI 정보도 허용하지 않음

 

4) Regular Expressions : _2_

 

  • _2_는 AS-Path에 ‘2’가 존재하는 것을 의미
  • R1은 AS-Path에 AS 2가 존재하는 NLRI 정보를 허용할 것으로 예상
    • 이때, AS 2가 가장 앞에 있거나 뒤에 있어도 상관없음

 

  • 예상한 것과 같이 AS 2가 생성한 NLRI 및 AS 2를 지나온 NLRI를 허용
    • AS-Path에 AS 2가 존재하는 NLRI 정보를 허용

 

  • _3_는 AS-Path에 ‘3’이 존재하는 것을 의미
  • R1은 AS-Path에 AS 3이 존재하는 NLRI 정보를 허용할 것으로 예상
    • 이때, AS 3이 가장 앞에 있거나 뒤에 있어도 상관없음

 

  • 예상한 것과 같이 AS 3이 생성한 NLRI 및 AS 3을 지나온 NLRI를 허용
    • AS-Path에 AS 3가 존재하는 NLRI 정보를 허용

 

5) Regular Expressions : _2$

  • _2$는 AS-Path 중에 가장 오른쪽(최초 발생지) AS가 2인 것을 의미
  • R1은 AS 2에서 생성된 NLRI를 거부하고 다른 모든 NLRI를 허용할 것으로 예상

 

  • 예상한 것과 같이 AS 2에서 생성한 NLRI를 제외하고 나머지 NLRI를 허용

 

  • _3$는 AS-Path 중에 가장 오른쪽(최초 발생지) AS가 3인 것을 의미
  • R1은 AS 3에서 생성된 NLRI를 거부하고 다른 모든 NLRI를 허용할 것으로 예상

 

  • 예상한 것과 같이 AS 3에서 생성한 NLRI를 제외하고 나머지 NLRI를 허용

 

6) Regular Expressions : ^2_[0-9]*$

  • [0-9]*는 ASN이 어떤 것이든 하나의 AS를 의미
    • Ex) AS가 ‘Empty’, ‘123’, ‘79’, ‘3461’ 등등 어떤 것이든 상관없음
  • ^2_[0-9]*$는 AS-Path가 ‘2 x’인 것을 의미
    • 여기서 x는 어떠한 숫자 및 Empty를 의미
  • R1은 인접한 AS 2에서 생성된 NLRI 및 AS 2와 인접한 AS에서 생성되어 AS 2를 지나온 NLRI를 허용할 것으로 예상

 

  • 예상한 것과 같이 AS 2에서 생성된 NLRI 및 AS 2와 인접한 AS에서 생성되어 AS 2를 지나온 NLRI를 허용

 

  • [0-9]*는 ASN이 어떤 것이든 하나의 AS를 의미
    • Ex) AS가 ‘Empty’, ‘123’, ‘79’, ‘3461’ 등등 어떤 것이든 상관없음
  • ^3_[0-9]*$는 AS-Path가 ‘3 x’인 것을 의미
    • 여기서 x는 어떠한 숫자 및 Empty를 의미
  • R1은 인접한 AS 3에서 생성된 NLRI 및 AS 3와 인접한 AS에서 생성되어 AS 3을 지나온 NLRI를 허용할 것으로 예상

 

  • 예상한 것과 같이 어떠한 NLRI도 허용하지 않은 것을 확인

 

7) Regular Expressions : ^([0-9]+)_2

  • [0-9]+는 ASN이 어떤 것이든 하나의 AS를 의미
    • Ex) AS가 ‘123’, ‘79’, ‘3461’ 등등 어떤 것이든 상관없음
  • ^([0-9]+)_2는 AS-Path가 ‘x 2 y’인 것을 의미
    • 여기서 x는 어떠한 숫자를 의미
    • 여기서 y는 어떠한 숫자 및 Empty를 의미
    • 하나의 AS가 떨어진 AS 2에서 생성된 NLRI 및 AS 2를 지나온 NLRI를 의미
  • R1은 AS 2와 하나의 AS가 떨어지지 않았으므로 허용되는 NLRI가 없을 것으로 예상

 

  • 예상한 것과 같이 어떠한 NLRI도 허용하지 않은 것을 확인

 

  • [0-9]+는 ASN이 어떤 것이든 하나의 AS를 의미
    • Ex) AS가 ‘123’, ‘79’, ‘3461’ 등등 어떤 것이든 상관없음
  • ^([0-9]+)_3은 AS-Path가 ‘x 3 y’인 것을 의미
    • 여기서 x는 어떠한 숫자를 의미
    • 여기서 y는 어떠한 숫자 및 Empty를 의미
    • 하나의 AS가 떨어진 AS 2에서 생성된 NLRI 및 AS 2를 지나온 NLRI를 의미
  • R1은 하나의 AS가 떨어진 AS 3에서 생성된 NLRI 및 AS 3을 지나온 NLRI를 허용할 것으로 예상

 

  • 예상한 것과 같이 AS 3에서 생성된 NLRI 및 AS 3을 지나온 NLRI를 허용

 

8) Regular Expressions : ^2_([0-9]+)

  • [0-9]+는 ASN이 어떤 것이든 하나의 AS를 의미
    • Ex) AS가 ‘123’, ‘79’, ‘3461’ 등등 어떤 것이든 상관없음
  • ^2_([0-9]+)은 AS-Path가 ‘2 x’인 것을 의미
    • 여기서 x는 어떠한 숫자를 의미하여 서로 다른 숫자가 1개 이상 존재 가능
    • Ex) ‘2 3’, ‘2 3 4’, ‘2 3 3’ 등
  • R1은 인접한 AS 2에서 생성된 NLRI는 허용하지 않으며 AS 2를 지나온 NLRI를 허용할 것으로 예상

 

  • 예상한 것과 같이 AS 2에서 생성된 NLRI는 허용하지 않으며 AS 2를 지나온 NLRI를 허용

 

  • [0-9]+는 ASN이 어떤 것이든 하나의 AS를 의미
    • Ex) AS가 ‘123’, ‘79’, ‘3461’ 등등 어떤 것이든 상관없음
  • ^3_([0-9]+)은 AS-Path가 ‘3 x’인 것을 의미
    • 여기서 x는 어떠한 숫자를 의미하여 서로 다른 숫자가 1개 이상 존재 가능
    • Ex) ‘3 1’, ‘3 4 5’, ‘3 5 6 4’ 등
  • R1은 AS 3과 인접하지 않았으므로 허용되는 NLRI가 없을 것으로 예상

 

  • 예상한 것과 같이 어떠한 NLRI도 허용하지 않은 것을 확인

 

728x90
반응형