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

VRF Leaking with MP-BGP on one Router Sample Configuration(Nokia 7750 SR)

by 최개미의 세계 2024. 7. 2.

1. VRF Leaking with MP-BGP on one Router Sample Configuration 구성도

  • 테스트 장비
    • 에뮬레이터 : EVE-NG
    • 라우터 : Nokia 7750 SR-12 TiMOS-C-21.10.R1
    • 스위치 : Cisco IOL I86BI_LINUXL2-ADVENTERPRISEK9-M, Version 15.1
  • 본 글에서는 BGP를 사용하여 VRF Leaking 하는 것이 목표
    • ① : VRF10↔Global 간에 BGP를 사용하여 Leaking 하는 것이 목표
    • ② : VRF10↔VRF20 간에 BGP를 사용하여 Leaking 하는 것이 목표
      • 설정 방법이 다른 경우가 있어 ㉮, ㉯, ㉰로 구분하여 정리하였고 상세한 설명은 ㉮에만 기재
  • 기본적인 VRF 설정은 'VRF Sample Configuration' 글 참고

 

 

2. VRF Leaking with MP-BGP on one Router Sample Configuration

1) Global Interface Configuration

  • Global에 해당하는 포트 및 인터페이스 설정
    • Nokia 7750 SR OS는 기본적으로 Ethernet Mode Network로 구성

 

  • SW 인터페이스에 IP Address를 설정하며 테스트를 위해 Default-Route를 설정
  • 모든 SW도 SW1의 구성과 비슷하게 설정

 

2) VRF Interface Configuration

  • VPRN(VRF)에 설정할 포트에 'ethernet mode access'로 설정

 

  • 'configure service vprn [service-id] name [service-name] customer [customer-id] create'를 지정하여 VPRN(VRF)를 생성
  • 각 VPRN(VRF)에 RD(Route Distinguisher)를 지정

 

  • 위에서 생성한 각 VPRN(VRF)의 Service-ID, Status, Customer-ID, Service-Name에 대한 정보 확인 가능

 

3) Global and VRF Interface Configuration Verification

  • 라우터에서 Global 및 VPRN(VRF) 별로 인터페이스에 적용된 IP Address, Status, Binding된 Port 등 정보 확인 가능

 

  • 위에서 설정한 Global, VRF10, VRF20에 대한 설정이 각 라우팅 테이블에 정상으로 올라온 것을 확인
  • Global 및 VPRN(VRF)이 다르면 라우팅 테이블이 분리되어 있음을 확인

 

  • 모든 장비에서 인접 장비까지 Ping Test 진행
  • 'ping router [service-id] [destination-ip]'를 입력하여 각 VPRN(VRF)에 해당하는 장비로 Ping Test 가능

 

4) BGP Configuration

  • Local 장비에서 BGP Protocol을 인식할 수 있도록 Local-AS 및 BGP Enable

 

5) ① Global↔VRF10 Leaking with MP-BGP

  • Nokia 7750 SR OS는 BGP를 이용하여 Global↔VRF 간에 Leaking을 할 수 있는 방법이 없는 것으로 파악
  • Nokia 7750 SR OS에서 Global↔VRF 간에 Leaking이 필요한 경우, Static 및 Policy를 이용하여 설정

 

6) ② VRF10→VRF20 Leaking with MP-BGP - ㉮

  • Cisco와 달리 VRF→Global(BGP)로 Route를 재분배하지 않아도 Leaking 가능
  • BGP를 사용하여 서로 다른 VRF 간에 Leaking을 진행할 경우, 반드시 Route Target이 필요
  • VRF IPv4 Prefix(VPNv4 Prefix) 정보가 Global인 BGP로 전달하기 위해 Route Target이 필요 
    • Route Target은 BGP Community라는 Attribute를 이용하여 전달
  • VRF10에서 'route-target export target:1:100'을 입력하여 VRF10의 Route에 Community '1:100'을 달고 전달
  • VRF20에서 'route-target import target:1:100'을 입력하여 Community '1:100'을 달고 온 Route들을 허용
  • 여기서 중요한 것은 VPNv4 Prefix 정보를 전달하려는 VRF에서 사용하는 'route-target export' 값과 VPNv4 Prefix 정보를 수신하려는 VRF에서 사용하는 'route-target import' 값이 동일해야 한다는 것

 

  • VRF10에서 IPv4 Prefix(33.33.33.0/24)에 Community 1:100을 달고 Global(BGP)로 전달
    • VRF IPv4 Prefix 정보를 BGP Table에서 VPNv4 Prefix 형태로 저장
  • VRF20은 Global(BGP)에서 Community 1:100을 달고 온 VPNv4 Prefix들을 허용
  • VRF10→VRF20으로 Leaking 한 Route(33.33.33.0/24)가 VRF20 라우팅 테이블에 설치
  • Nokia 7750 SR OS는 BGP Peer가 없는 상태에서 Local에서 시작된 BGP Route를 확인할 수 있는 방법이 없어서 BGP Table을 확인해도 어떠한 정보도 확인 불가

 

7) ② VRF20→VRF10 Leaking with MP-BGP - ㉮

  • 'vrf-target export'와 'vrf-target import'를 따로 설정하면 먼저 설정한 값이 자동으로 제거되므로 Export와 Import를 동시에 설정
  • Cisco와 달리 VRF→Global(BGP)로 Route를 재분배하지 않아도 Leaking 가능
  • BGP를 사용하여 서로 다른 VRF 간에 Leaking을 진행할 경우, 반드시 Route Target이 필요
  • VRF IPv4 Prefix(VPNv4 Prefix) 정보가 Global인 BGP로 전달하기 위해 Route Target이 필요 
    • Route Target은 BGP Community라는 Attribute를 이용하여 전달
  • VRF20에서 'route-target export target:1:200'을 입력하여 VRF20의 Route에 Community '1:200'을 달고 전달
  • VRF10에서 'route-target import target:1:200'을 입력하여 Community '1:200'을 달고 온 Route들을 허용
  • 여기서 중요한 것은 VPNv4 Prefix 정보를 전달하려는 VRF에서 사용하는 'route-target export' 값과 VPNv4 Prefix 정보를 수신하려는 VRF에서 사용하는 'route-target import' 값이 동일해야 한다는 것

 

  • VRF20에서 IPv4 Prefix(55.55.55.0/24)에 Community 1:200을 달고 Global(BGP)로 전달
    • VRF IPv4 Prefix 정보를 BGP Table에서 VPNv4 Prefix 형태로 저장
  • VRF10은 Global(BGP)에서 Community 1:200을 달고 온 VPNv4 Prefix들을 허용
  • VRF20→VRF10으로 Leaking 한 Route(55.55.55.0/24)가 VRF10 라우팅 테이블에 설치
  • Nokia 7750 SR OS는 BGP Peer가 없는 상태에서 Local에서 시작된 BGP Route를 확인할 수 있는 방법이 없어서 BGP Table을 확인해도 어떠한 정보도 확인 불가

 

  • VRF10↔VRF20(SW3↔SW5) 통신 확인

 

8) ② VRF20↔VRF10 Leaking with MP-BGP - ㉯

  • 위에서 사용한 'vrf-target export' 및 'vrf-target import'을 사용하여 Route Target을 지정할 수 있지만 Export와 Import Route Target이 동일한 경우 'vrf-target'이라는 명령어를 사용하여 한 번에 설정 가능
    • Ex) 'vrf-target target:1:100'은 Import Route Target 및 Export Route Target이 100이라는 의미
  • 'vrf-target target:x:x' 설정 시, 기존에 설정된 'vrf-target export' 및 'vrf-target import'는 자동 제거 

 

  • VRF20의 Export Route Target과 VRF10의 Import Route Target이 동일하므로 VRF20의 IPv4 정보가 VRF10 라우팅 테이블에 설치

 

  • VRF10의 Export Route Target과 VRF20의 Import Route Target이 동일하므로 VRF10의 IPv4 정보가 VRF20 라우팅 테이블에 설치

 

  • VRF10↔VRF20(SW3↔SW5) 통신 확인

 

9) ② VRF10→VRF20 Leaking with MP-BGP - ㉰

  • 'vrf-export' 및 'vrf-import'를 설정하여 Policy를 적용하여 Route Target(Community) 지정 가능
  • VRF10에서 Prefix 33.33.33.0/24와 일치하는 NLRI에 Community 'target:1:100'을 추가하여 Global로 Leaking
  • VRF20에서 Community 'target:1:100'이 있는 NLRI만 허용

 

10) ② VRF20→VRF10 Leaking with MP-BGP - ㉰

  • 'vrf-export' 및 'vrf-import'를 설정하여 Policy를 적용하여 Route Target(Community) 지정 가능
  • VRF20에서 Prefix 55.55.55.0/24와 일치하는 NLRI에 Community 'target:1:200'을 추가하여 Global로 Leaking
  • VRF20에서 Community 'target:1:200'이 있는 NLRI만 허용

 

  • VRF10↔VRF20(SW3↔SW5) 통신 확인