2023-01-20 고급 네트워크 엔지니어(서른아홉) MPLS 가상 사설망---개요, 라우팅 상호 작용, CE 액세스 PE 방법, 기본 네트워킹 체계에 대한 자세한 설명, 그룹 속성, 루프 방지, MCE 네트워킹, 의사 연결 솔루션, 크로스 도메인 네트워킹에 대한 자세한 설명, 다양한 네트워킹 솔루션 구성 예시

개요

VPN(Virtual Private Network)은 공용망에 가상 사설망을 구현해 사용자가 사설망을 기반으로 통신할 수 있도록 하는 기술을 말한다. MPLS VPN도 VPN 기술의 한 유형입니다. 이 문서에서는 특히BGP/MPLS IP VPN을 참조합니다.

BGP/MPLS IP VPN 네트워크일반적으로 사업자가 구축함, VPN 사용자 구매 . MPLS VPN의 백본 네트워크는 기업이 직접 구축할 수도 있으며 기술 수준은 기본적으로 사업자가 설정한 것과 동일합니다. 사용자 네트워크 간의 라우팅 전송, 데이터 연동 등을 구현하는 데 사용됩니다VPN 서비스는

MPLS VPNBGP를 사용하여 운영자의 백본 네트워크(IP 네트워크)에 VPN 경로를 게시하고 MPLS를 사용하여 운영자의 백본 네트워크(IP 네트워크)에 VPN을 전달합니다. 백본 네트워크 메시지. MPLS VPN이라고도 하는 BGP/MPLS IP VPN은 일반적인 L3VPN(레이어 3 VPN) 기술입니다.

네트워크 아키텍처

MPLS VPN 네트워크 아키텍처는 세 부분으로 구성됩니다.

CE(고객 에지):사용자 네트워크 에지 장치,사업자 네트워크에 직접 연결되는 인터페이스가 있습니다. CE는 라우터나 스위치일 수도 있고 호스트일 수도 있습니다. 일반적으로 CE는 VPN의 존재를 "인식"하지 않으며 MPLS를 지원할 필요도 없습니다.

PE(Provider Edge): 캐리어 에지 라우터는 캐리어 네트워크의 에지 장치이며 CE에 직접 연결됩니다. . MPLS 네트워크에서는 모든 VPN 처리가 PE에서 이루어지므로 높은 PE 성능이 필요합니다.

P ​​​​(공급자):사업자 네트워크의 백본 라우터, 직접 연결되지 않음 CE로. P 장치에는 기본 MPLS 전달 기능만 있으면 되며 VPN 관련 정보는 유지하지 않습니다.

사이트는 MPLS VPN 사용자이고, CE 및 기타 사용자 장비로 구성됩니다. 사이트의 특징은 서로 IP 연결성을 갖는 IP 시스템 그룹이며, 이 IP 시스템 그룹의 IP 연결은 운영자의 네트워크를 통해 달성될 필요가 없습니다.

기술 아키텍처

MPLS VPN은다양한 기술을 결합한 포괄적인 솔루션이며 주로 다음을 포함합니다.

MP-BGP(MultiProtocol BGP): PE 간의 사이트 내 라우팅 정보 전송을 담당합니다. .

LDP:PE와 PE 사이의 터널 설정을 담당합니다.

VRF: 负责PE VPN용 현 관리.

정적 라우팅, IGP, BGP:PE와 CE 간의 라우팅 정보 교환을 담당합니다.

일반적인 네트워킹 솔루션

인트라넷: VPN의 모든 사용자는 폐쇄된 사용자 그룹을 형성합니다. 동일한 VPN 사이트는 서로 액세스할 수 있지만 다른 VPN 사이트는 액세스할 수 없습니다. 교환 방문. 인트라넷 네트워킹은 가장 간단하고 일반적인 MPLS VPN 네트워킹 솔루션입니다. 단일 RD를 구성하여 인트라넷 네트워킹 솔루션을 구현할 수 있습니다.

엑스트라넷: VPN 사용자가 다른 VPN 사용자가 액세스할 수 있도록 이 VPN 사이트 리소스 중 일부를 제공하려는 시나리오에 적용 가능합니다. 여러 RD를 구성하여 엑스트라넷 네트워킹 솔루션을 구현할 수 있습니다.

Hub&Spoke: VPN에중앙 액세스 제어 장치를 설정하려는 경우, 기타 사용자 상호방문은 중앙 출입통제 장치를 통해 이루어지며, Hub&Spoke 네트워킹 솔루션을 활용할 수 있습니다.
 

경로 상호작용

동일한 VPN의 여러 사이트 간 통신을 실현하려면 먼저 여러 사이트 간 라우팅 상호 작용을 완료해야 합니다. 기본 MPLS VPN 네트워크에서 VPN 라우팅 정보 공개에는 CE와 PE가 포함되며 P 라우터는 백본 네트워크의 라우팅만 유지하며 VPN 라우팅 정보를 알 필요가 없습니다. VPN 라우팅 정보 게시 프로세스는 세 부분으로 구성됩니다. 1. 수신 PE에 대한 로컬 CE 2. 송신 PE에 대한 수신 PE 3. 원격 CE에 대한 송신 PE

CE와 PE 간 라우팅 정보 교환

CE와 PE는정적 라우팅, OSPF, IS-IS 또는 BGP를 사용하여 라우팅 정보를 교환할 수 있습니다. 어떤 라우팅 프로토콜을 사용하든 표준 IPv4 경로는 CE와 PE 간에 교환됩니다.

로컬 CE에서 수신 PE로의 라우팅 정보 교환 원리와 송신 PE에서 원격 CE로의 라우팅 정보 교환 원리는 완전히 동일합니다.

VRF

VPN 인스턴스라고도 알려진 VRF(Virtual Routing and Forwarding)는 MPLS VPN 아키텍처의 핵심 기술입니다. 각 VPN 인스턴스는 독립적인 라우팅 및 전달 테이블을 사용합니다. VPN 간의 논리적 격리를 달성합니다. IP 주소 공간이 겹치는 여러 사용자의 문제를 해결했습니다.

관련 명령

VPN 인스턴스 기능을 활성화하고 보기에 들어갑니다.

[PE1]ip vpn-instance VPN1

인터페이스 아래에 VPN 인스턴스 바인딩

[PE1-GigabitEthernet0/0/1]ip binding vpn-instance VPN1

RD

PE는 서로 다른 VPN의 CE로부터 IPv4 주소 접두사를 수신하고 VPN 인스턴스 구성을 기반으로 이러한 주소 접두사를 로컬에서 구별합니다. 하지만 VPN 인스턴스는 로컬 개념일 뿐이고 PE가 VPN 인스턴스 정보를 피어 PE에 전달할 수 없으므로RD(Route Distinguisher, 경로 식별자)<가 있습니다. 나는 = 2 >.

RD는 길이가 8바이트이며 동일한 주소 공간을 사용하는 IPv4 접두사를 구별하는 데 사용됩니다.

PE는 CE로부터 IPv4 경로를 수신한 후 IPv4 접두사 앞에 RD를 추가하고 이를 전역적으로 고유한 VPN-IPv4 경로로 변환합니다.

RD에는 네 가지 구성 형식이 있으며 일반적으로 사용되는 두 가지 형식은 다음과 같습니다.

16비트 자율 시스템 번호: 32비트 사용자 정의 번호(예: 100:1).

32비트 IPv4 주소: 16비트 사용자 정의 번호(예: 172.1.1.1:1).

관련 명령

RD 구성(VPN 인스턴스 보기)

[PE1-vpn-instance-VPN1]route-distinguisher 100:1

VPN-IPv4 주소

VPN-IPv4 주소는 VPNv4 주소라고도 합니다. VPNv4 주소는 8바이트 라우팅 식별자를 포함하여 총 12바이트를 갖습니다.RD (Route 구별자) 및 4바이트 IPv4 주소 접두사.

MP-BGP

VPN 라우팅을 올바르게 처리하기 위해 MPLS VPN은 RFC2858(BGP-4용 다중 프로토콜 확장)을 사용합니다. BGP-4의 다중 프로토콜 확장인 에 지정된 MP-BGP입니다. MP-BGP는 주소 계열을 사용하여 다양한 네트워크 계층 프로토콜을 구별하며 기존 IPv4 주소 계열뿐만 아니라 다른 주소 계열(예: VPN-IPv4 주소 계열, IPv6 주소 계열 등)도 지원할 수 있습니다.

관련 명령

MP-BGP에서 vpnv4 기능 활성화(VPN-IPv4 주소 변환에 사용)

[PE1-bgp]ipv4-family vpnv4

MP-BGP vpn4 보기에서 피어 지정

[PE1-bgp-af-vpnv4]peer 3.3.3.3 enable 

MP-BGP에서 VPN 인스턴스 열기(CE와 PE 간의 이웃 관계를 설정하는 데 사용됨)

[PE1-bgp]ipv4-family vpn-instance VPN1

MP-BGP VPN 인스턴스 보기에 직접 경로 도입

[PE1-bgp-VPN1]import-route

MP-BGP는 두 가지 새로운 경로 속성을 추가합니다.

MP_REACH_NLRI: 다중 프로토콜 도달 가능 NLRI, 다중 프로토콜 도달 가능 NLRI. 도달 가능한 경로와 다음 홉 정보를 게시하는 데 사용됩니다.

MP_UNREACH_NLRI:다중 프로토콜 도달 불가능 NLRI, 다중 프로토콜 도달 불가능 NLRI. 도달할 수 없는 경로를 철회하는데 사용됩니다.

Address Family Information(Address Family Information) 필드: 2바이트로 구성Address Family Identifier AFI(Address Family Identifier) . AFI 값 1과 SAFI 값 128은 NLRI의 주소가 MPLS 레이블이 지정된 VPN-IPv4 주소임을 나타냅니다. SAFI는 NLRI 유형을 나타냅니다을 식별합니다. 예를 들어 IPv4의 값은 1이고 IPv6의 값은 2입니다. AFI는 RFC3232의 "주소 제품군 번호"로 정의된 주소 제품군 값에 해당하는 네트워크 계층 프로토콜. 후속 주소 제품군 식별자 SAFI(후속 주소 제품군 식별자) ​​ 및 1바이트

다음 홉 네트워크 주소 정보 필드: 1바이트다음 홉 네트워크 주소 길이. 다음 홉 네트워크 주소 및 가변 길이

NLRI(네트워크 계층 연결 정보) 필드: 하나 이상의 트리플 <길이< a i=3>로 구성됩니다. , 태그, 접두사>.

RT

MPLS VPN은 BGP를 사용합니다.확장 커뮤니티 속성-VPN 대상(경로 대상이라고도 함 a> a>) VPN 라우팅 정보 게시 및 수신을 제어합니다.

PE에서 각 VPN 인스턴스는 하나 이상의VPN 대상 속성에 바인딩됩니다. VPN 대상 속성에는 두 가지 유형이 있습니다. < /span>

내보내기 대상(ERT): 로컬 PE가 직접 연결된 사이트에서 IPv4 경로를 학습한 후 이를 VPN IPv4 경로로 변환하고 이러한 경로를 제공합니다내보내기 대상 속성 추가. 내보내기 대상 속성은 BGP의 확장된 커뮤니티 속성으로 경로와 함께 게시됩니다.

가져오기 대상(IRT): PE는 다른 PE가 광고한 VPN-IPv4 경로를 수신하면 내보내기 대상 속성을 확인합니다. 이 속성이 PE에 있는 VPN 인스턴스의 가져오기 대상과 일치하면 PE는 VPN 인스턴스의 라우팅 테이블에 경로를 추가합니다.

VPN-Target을 구성할 때 VPN-Target의 관리자 하위 필드와 할당 번호 하위 필드만 지정하면 됩니다. VPN-Target의 구성 형식은 RD 형식과 일치합니다.

관련 명령

RT 구성(VPN 인스턴스 보기)

[PE1-vpn-instance-VPN1]vpn-target 100:100 ?
  STRING<3-21>         X.X.X.X:number<0-65535> or                               
                       number<0-65535>:number<0-4294967295> or                  
                       number<0-65535>.number<0-65535>:number<0-65535> or       
                       <65536-4294967295>:<0-65535> but not support 0:0 and     
                       0.0:0
  both                 Set export VPN-Target and import VPN-Target
  export-extcommunity  Set export VPN-Target
  import-extcommunity  Set import VPN-Target
  <cr>                 Please press ENTER to execute command 

라우팅 상호 작용 프로세스

1 개인 네트워크 경로는 라우팅 프로토콜을 통해 CE에서 수신 PE의 VPN 인스턴스로 전송됩니다.

2 VPN 인스턴스는 MP-BGP 프로토콜을 통해 수신 PE에서 송신 PE로 경로를 전송합니다.

3. MPLS LDP 프로토콜을 통해 PE와 브리지 역할을 하는 P 장치 간에 레이블 전달이 수행됩니다.

구성 예: 중복된 MPLS VPN 주소(인트라넷)

필요

VPN1과 VPN2는 격리되어 있으며 VPN 내에서 서로 액세스할 수 있습니다.

단계

1 백본 네트워크에서 OSPF 및 MPLS LDP 구성
2 PE에서 VPN 인스턴스 구성
3 PE 간 MP-IBGP 구성
4 CE에서 PE로의 고정 경로 구성

특정 구성

PE1 구성

#
 sysname PE1
#
ip vpn-instance VPN1                         \\配置VPN实例(包括RD、target等)
 ipv4-family
  route-distinguisher 100:1                  \\配置RD
  vpn-target 100:100 export-extcommunity     \\配置RT
  vpn-target 100:100 import-extcommunity
#
ip vpn-instance VPN2
 ipv4-family
  route-distinguisher 200:1
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 1.1.1.1                          
mpls
#
mpls ldp                                    \\配置MPLS LDP(包括全局和接口)
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPN1               \\绑定VPN实例
 ip address 20.1.0.1 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip binding vpn-instance VPN2
 ip address 20.1.0.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100                                     \\配置MP-IBGP(包括指定对等体、更新源接口)
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 3.3.3.3 enable
 # 
 ipv4-family vpnv4                          \\在BGP中开启vpn4协议
  policy vpn-target                         \\此项如果undo,与对等体PE之间的路由交换将不受限
                                              也VPN之间也不受隔离,既没有RT的存在
  peer 3.3.3.3 enable
 #
 ipv4-family vpn-instance VPN1              \\在BGP中开启VPN实例
  import-route direct                       \\引入直连路由以便对等体访问
 #
 ipv4-family vpn-instance VPN2 
  import-route direct
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#

PE2 구성

#
 sysname PE2
#
ip vpn-instance VPN1
 ipv4-family
  route-distinguisher 100:2
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
ip vpn-instance VPN2
 ipv4-family
  route-distinguisher 200:2
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.3 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPN1
 ip address 30.1.0.3 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip binding vpn-instance VPN2
 ip address 30.1.0.3 255.255.255.0 
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance VPN1 
  import-route direct
 #
 ipv4-family vpn-instance VPN2 
  import-route direct
#
ospf 1 router-id 3.3.3.3 
 area 0.0.0.0 
#

P 구성

#
 sysname P
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.2 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 10.1.1.2 255.255.255.0 
 mpls
 mpls ldp
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
#
ospf 1 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

CE1 구성

#
 sysname CE1
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.4 255.255.255.0 
#
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0 20.1.0.1  \\配置到PE的静态路由
#

CE2 구성

#
 sysname CE2
#
interface GigabitEthernet0/0/0
 ip address 30.1.0.5 255.255.255.0 
#
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0 30.1.0.3
#

CE3 구성

#
 sysname CE3
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.4 255.255.255.0 
#
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0 20.1.0.1
#

CE4 구성

#
 sysname CE4
#
interface GigabitEthernet0/0/0
 ip address 30.1.0.5 255.255.255.0 
#
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0 30.1.0.3
#

검증 결과

MPLS LDP 구축 현황 확인

<PE1>display mpls ldp session 

 LDP Session(s) in Public Network
 Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM)
 A '*' before a session means the session is being deleted.
 ------------------------------------------------------------------------------
 PeerID             Status      LAM  SsnRole  SsnAge      KASent/Rcv
 ------------------------------------------------------------------------------
 2.2.2.2:0          Operational DU   Passive  0000:00:28  114/114
 ------------------------------------------------------------------------------
 TOTAL: 1 session(s) Found.


<PE1>display mpls ldp lsp
 
 LDP LSP Information
 -------------------------------------------------------------------------------
 DestAddress/Mask   In/OutLabel    UpstreamPeer    NextHop         OutInterface
 -------------------------------------------------------------------------------

 1.1.1.1/32         3/NULL         2.2.2.2         127.0.0.1       InLoop0
*1.1.1.1/32         Liberal/1024                   DS/2.2.2.2
 2.2.2.2/32         NULL/3         -               10.1.0.2        GE0/0/0
 2.2.2.2/32         1024/3         2.2.2.2         10.1.0.2        GE0/0/0
 3.3.3.3/32         NULL/1025      -               10.1.0.2        GE0/0/0
 3.3.3.3/32         1025/1025      2.2.2.2         10.1.0.2        GE0/0/0
 -------------------------------------------------------------------------------
 TOTAL: 5 Normal LSP(s) Found.
 TOTAL: 1 Liberal LSP(s) Found.
 TOTAL: 0 Frr LSP(s) Found.
 A '*' before an LSP means the LSP is not established
 A '*' before a Label means the USCB or DSCB is stale
 A '*' before a UpstreamPeer means the session is stale
 A '*' before a DS means the session is stale
 A '*' before a NextHop means the LSP is FRR LSP

VPN 인스턴스의 구성을 확인하세요.

<PE1>display ip vpn-instance verbose 
 Total VPN-Instances configured      : 2
 Total IPv4 VPN-Instances configured : 2
 Total IPv6 VPN-Instances configured : 0

 VPN-Instance Name and ID : VPN1, 1
  Interfaces : GigabitEthernet0/0/1
 Address family ipv4
  Create date : 2023/02/03 16:16:10 UTC-08:00    
  Up time : 0 days, 00 hours, 32 minutes and 25 seconds
  Route Distinguisher : 100:1
  Export VPN Targets :  100:100
  Import VPN Targets :  100:100
  Label Policy : label per route
  Log Interval : 5

 VPN-Instance Name and ID : VPN2, 2
  Interfaces : GigabitEthernet0/0/2
 Address family ipv4
  Create date : 2023/02/03 16:16:10 UTC-08:00    
  Up time : 0 days, 00 hours, 32 minutes and 25 seconds
  Route Distinguisher : 200:1
  Export VPN Targets :  200:200
  Import VPN Targets :  200:200
  Label Policy : label per route
  Log Interval : 5

BGP 구축 상태 확인

<PE1>display bgp peer

 BGP local router ID : 10.1.0.1
 Local AS number : 100
 Total number of peers : 1		  Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  3.3.3.3         4         100       46       47     0 00:42:08 Established    
   0

VPN 인스턴스 라우팅 테이블 보기

<PE1>display ip routing-table vpn-instance VPN1
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: VPN1
         Destinations : 5        Routes : 5        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       20.1.0.0/24  Direct  0    0           D   20.1.0.1        GigabitEthernet
0/0/1
       20.1.0.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
     20.1.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
       30.1.0.0/24  IBGP    255  0          RD   3.3.3.3         GigabitEthernet
0/0/0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0


<PE1>display ip routing-table vpn-instance VPN2
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: VPN2
         Destinations : 5        Routes : 5        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       20.1.0.0/24  Direct  0    0           D   20.1.0.1        GigabitEthernet
0/0/2
       20.1.0.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/2
     20.1.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/2
       30.1.0.0/24  IBGP    255  0          RD   3.3.3.3         GigabitEthernet
0/0/0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

VPN 인스턴스 라우팅 세부정보 및 라벨 보기

<PE1>display bgp vpnv4 vpn-instance VPN1 routing-table 30.1.0.0

 BGP local router ID : 10.1.0.1
 Local AS number : 100

 VPN-Instance VPN1, Router ID 10.1.0.1:
 Paths:   1 available, 1 best, 1 select
 BGP routing table entry information of 30.1.0.0/24:
 Label information (Received/Applied): 1026/NULL
 From: 3.3.3.3 (10.1.1.3)
 Route Duration: 00h54m01s  
 Relay Tunnel Out-Interface: GigabitEthernet0/0/0
 Relay token: 0x3
 Original nexthop: 3.3.3.3
 Qos information : 0x0
 Ext-Community:RT <100 : 100>
 AS-path Nil, origin incomplete, MED 0, localpref 100, pref-val 0, valid, intern
al, best, select, active, pre 255, IGP cost 2
 Not advertised to any peer yet

PE에서 각 CE로의 연결 테스트

<PE1>ping -vpn-instance VPN1 20.1.0.4
  PING 20.1.0.4: 56  data bytes, press CTRL_C to break
    Reply from 20.1.0.4: bytes=56 Sequence=1 ttl=255 time=20 ms
    Reply from 20.1.0.4: bytes=56 Sequence=2 ttl=255 time=10 ms
    Reply from 20.1.0.4: bytes=56 Sequence=3 ttl=255 time=10 ms
    Reply from 20.1.0.4: bytes=56 Sequence=4 ttl=255 time=20 ms
    Reply from 20.1.0.4: bytes=56 Sequence=5 ttl=255 time=20 ms

  --- 20.1.0.4 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 10/16/20 ms

<PE1>ping -vpn-instance VPN1 30.1.0.5
  PING 30.1.0.5: 56  data bytes, press CTRL_C to break
    Reply from 30.1.0.5: bytes=56 Sequence=1 ttl=253 time=40 ms
    Reply from 30.1.0.5: bytes=56 Sequence=2 ttl=253 time=40 ms
    Reply from 30.1.0.5: bytes=56 Sequence=3 ttl=253 time=30 ms
    Reply from 30.1.0.5: bytes=56 Sequence=4 ttl=253 time=30 ms
    Reply from 30.1.0.5: bytes=56 Sequence=5 ttl=253 time=30 ms

  --- 30.1.0.5 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 30/34/40 ms

<PE1>ping -vpn-instance VPN2 20.1.0.4
  PING 20.1.0.4: 56  data bytes, press CTRL_C to break
    Reply from 20.1.0.4: bytes=56 Sequence=1 ttl=255 time=20 ms
    Reply from 20.1.0.4: bytes=56 Sequence=2 ttl=255 time=20 ms
    Reply from 20.1.0.4: bytes=56 Sequence=3 ttl=255 time=20 ms
    Reply from 20.1.0.4: bytes=56 Sequence=4 ttl=255 time=20 ms
    Reply from 20.1.0.4: bytes=56 Sequence=5 ttl=255 time=30 ms

  --- 20.1.0.4 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/22/30 ms

<PE1>ping -vpn-instance VPN2 30.1.0.5
  PING 30.1.0.5: 56  data bytes, press CTRL_C to break
    Reply from 30.1.0.5: bytes=56 Sequence=1 ttl=253 time=50 ms
    Reply from 30.1.0.5: bytes=56 Sequence=2 ttl=253 time=20 ms
    Reply from 30.1.0.5: bytes=56 Sequence=3 ttl=253 time=30 ms
    Reply from 30.1.0.5: bytes=56 Sequence=4 ttl=253 time=20 ms
    Reply from 30.1.0.5: bytes=56 Sequence=5 ttl=253 time=30 ms

  --- 30.1.0.5 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/30/50 ms

CE 출입문 PE 구성 방법

정적 경로 1개

1 CE에서 PE에 대한 기본 경로를 구성합니다.

2 PE의 CE에 대한 고정 경로 구성

3. PE의 BGP VPN 인스턴스 보기에 정적 경로를 도입합니다.

참고:PE BGP의 VPN 인스턴스 보기에서는 기본 경로를 가져올 수 없습니다. 양쪽 끝의 CE를 원하는 경우 기본 경로를 통해 통신할 수 있으면 대상 라우터 외에도 경로에 있는 모든 PE 및 CE가 기본 경로로 구성되어야 합니다.

관련 명령

PE에서 CE에 대한 고정 경로 구성

[PE2]ip route-static vpn-instance VPN2 5.5.5.5 32 30.1.0.5

BGP에 정적 경로 도입

[PE2-bgp-VPN2]import-route static 

2 OSPF

구성 프로세스

1 CE에서 공통 OSPF 프로세스 구성

2 PE의 VPN 인스턴스에 바인딩된 OSPF 프로세스를 구성합니다.

3 OSPF 프로세스에 의해 도입된 VPN 인스턴스를 PE의 BGP로 구성합니다.

4 PE에서 BGP를 구성하고 이를 OSPF 프로세스에 도입합니다.

관련 명령

VPN 인스턴스에 바인딩된 OSPF 프로세스 구성

[PE1]ospf 2 router-id 20.1.0.1 vpn-instance VPN1

OSPF 프로세스에 BGP 도입

[PE1-ospf-2]import-route bgp type1

OSPF 경로를 BGP로 가져오기

[PE1-bgp-VPN1]import-route ospf 2

3 ISIS

구성 프로세스(OSPF와 유사)

1 CE에서 공통 ISIS 프로세스 구성

2 PE의 VPN 인스턴스에 바인딩된 ISIS 프로세스를 구성합니다.

3 ISIS 프로세스에 의해 도입된 VPN 인스턴스를 PE의 BGP로 구성합니다.

4 PE에서 BGP를 구성하고 이를 ISIS 프로세스에 도입합니다.

관련 명령

ISIS 프로세스를 시작하고 VPN 인스턴스를 바인딩합니다.

[PE2]isis 2 vpn-instance VPN1

ISIS에 BGP 경로 소개

[PE2-isis-2]import-route bgp 

BGP VPN 인스턴스에서 ISIS 경로 가져오기

[PE2-bgp-VPN1]import-route isis 2

4개의 EBGP

구성 프로세스

1 CE에서 EBGP를 구성하고 피어를 PE로 지정합니다.

2 CE의 EBGP에 직접 경로를 도입합니다.

3 PE의 EBGP VPN 인스턴스에서 피어를 CE로 지정합니다.

4 PE의 EBGP VPN 인스턴스 아래에 직접 경로를 도입합니다.

관련 명령

피어 생성

[PE1-bgp-vpn1]peer 10.1.0.9 as-number 65001

직접 경로를 가져오도록 BGP 구성

[PE1-bgp-vpn1]import-route direct

구성 예: CE 액세스 포털 PE 구성 방법인트라넷(정적 라우팅, OSPF, ISIS, EBGP)

이전 실험 토폴로지를 예로 들어

요구 사항: VPN1과 VPN2는 격리되어 있으며 VPN 내에서 서로 액세스할 수 있습니다.

CE1~PE1은 OSPF입니다.
CE2~PE2는 ISIS입니다.
CE3~PE1은 EBGP입니다.
CE4~PE2 정적 라우팅의 경우 

PE1 구성

#
 sysname PE1
#
ip vpn-instance VPN1
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
ip vpn-instance VPN2
 ipv4-family
  route-distinguisher 200:1
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPN1
 ip address 20.1.0.1 255.255.255.0 
 ospf enable 2 area 0.0.0.0            //在连接CE1的接口上开启OSPF进程2
#
interface GigabitEthernet0/0/2
 ip binding vpn-instance VPN2
 ip address 20.1.0.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 3.3.3.3 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 3.3.3.3 enable
 #
 ipv4-family vpn-instance VPN1 
  import-route ospf 2                //引入OSPF进程2路由到到BGP
 #
 ipv4-family vpn-instance VPN2 
  import-route direct                      //引入直连路由到BGP
  peer 20.1.0.4 as-number 65000            //指定CE2的接口和AS号建立EBGP
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#
ospf 2 router-id 20.1.0.1 vpn-instance VPN1     //配置OSPF进程2绑定VPN实例
 import-route bgp type 1                        //引入BGP路由到OSPF
 area 0.0.0.0 
#

PE2 구성

#
 sysname PE2
#
ip vpn-instance VPN1
 ipv4-family
  route-distinguisher 100:2
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
ip vpn-instance VPN2
 ipv4-family
  route-distinguisher 200:2
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
isis 2 vpn-instance VPN1                     //配置ISIS进程2并绑定VPN实例
 is-level level-2
 cost-style wide
 network-entity 49.0001.0000.0003.00
 import-route bgp                            //引入BGP路由到ISIS进程2
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.3 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPN1
 ip address 30.1.0.3 255.255.255.0 
 isis enable 2                              //在连接CE2的接口上开启ISIS进程2
#
interface GigabitEthernet0/0/2
 ip binding vpn-instance VPN2
 ip address 30.1.0.3 255.255.255.0 
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  import-route static
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance VPN1 
  import-route isis 2                     //将ISIS路由引入到BGP的VPN实例中
 #
 ipv4-family vpn-instance VPN2 
  import-route direct                     //引入直连路由到BGP
  import-route static                     //引入静态路由到BGP
#
ospf 1 router-id 3.3.3.3 
 area 0.0.0.0 
#
//配置VPN实例下的静态路由到CE4
ip route-static vpn-instance VPN2 5.5.5.5 255.255.255.255 30.1.0.5   
#

P 구성

#
 sysname P
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.2 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 10.1.1.2 255.255.255.0 
 mpls
 mpls ldp
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
#
ospf 1 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

CE1 구성

#
 sysname CE1
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.4 255.255.255.0 
 ospf enable 2 area 0.0.0.0
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
 ospf enable 2 area 0.0.0.0
#
ospf 2 router-id 4.4.4.4               //CE1配置OSPF协议
 area 0.0.0.0 
#

CE2 구성

#
 sysname CE2
#
isis 2                                    //CE2配置ISIS协议
 cost-style wide
 network-entity 49.0001.0000.0005.00
#
firewall zone Local
 priority 15
#
interface GigabitEthernet0/0/0
 ip address 30.1.0.5 255.255.255.0 
 isis enable 2
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
 isis enable 2
#

CE3 구성

#
 sysname CE3
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.4 255.255.255.0
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
#
bgp 65000                              //CE3配置EBGP协议
 peer 20.1.0.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 20.1.0.1 enable
#

CE4 구성

#
 sysname CE4
#
interface GigabitEthernet0/0/0
 ip address 30.1.0.5 255.255.255.0 
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
#
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0 30.1.0.3  //CE4配置静态路由协议
#

확인: CE 라우팅 테이블 보기

<CE1>display ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 10       Routes : 10       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        4.4.4.4/32  Direct  0    0           D   127.0.0.1       LoopBack0
        5.5.5.5/32  O_ASE   150  11          D   20.1.0.1        GigabitEthernet
0/0/0
       20.1.0.0/24  Direct  0    0           D   20.1.0.4        GigabitEthernet
0/0/0
       20.1.0.4/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
     20.1.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
       30.1.0.0/24  O_ASE   150  2           D   20.1.0.1        GigabitEthernet
0/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0


<CE2>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 10       Routes : 10       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        4.4.4.4/32  ISIS-L2 15   10          D   30.1.0.3        GigabitEthernet
0/0/0
        5.5.5.5/32  Direct  0    0           D   127.0.0.1       LoopBack0
       20.1.0.0/24  ISIS-L2 15   10          D   30.1.0.3        GigabitEthernet
0/0/0
       30.1.0.0/24  Direct  0    0           D   30.1.0.5        GigabitEthernet
0/0/0
       30.1.0.5/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
     30.1.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0


<CE3>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 10       Routes : 10       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        4.4.4.4/32  Direct  0    0           D   127.0.0.1       LoopBack0
        5.5.5.5/32  EBGP    255  0           D   20.1.0.1        GigabitEthernet
0/0/0
       20.1.0.0/24  Direct  0    0           D   20.1.0.4        GigabitEthernet
0/0/0
       20.1.0.4/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
     20.1.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
       30.1.0.0/24  EBGP    255  0           D   20.1.0.1        GigabitEthernet
0/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0


<CE4>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 9        Routes : 9        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        0.0.0.0/0   Static  60   0           D   30.1.0.3        GigabitEthernet
0/0/0
        5.5.5.5/32  Direct  0    0           D   127.0.0.1       LoopBack0
       30.1.0.0/24  Direct  0    0           D   30.1.0.5        GigabitEthernet
0/0/0
       30.1.0.5/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
     30.1.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

각 CE에는 반대쪽 끝으로의 경로와 해당 프로토콜이 있습니다.

특수 시나리오의 BGP 구성

AS 번호 교체

MPLS VPN 시나리오에서 라우팅 정보를 교환하기 위해 PE와 CE 간에 EBGP가 실행되는 경우 두 사이트의 AS 번호는 동일할 수 있습니다.

CE1이 EBGP를 통해 PE1에 개인 네트워크 경로를 보낸 다음 PE2를 통해 CE2에 이를 보내는 경우 CE2는 반복되는 AS 번호로 인해 해당 경로를 폐기하게 되어 동일한 VPN에 속한 사이트 1과 사이트 2가 연결할 수 없게 됩니다.

PE에서 피어 대체-as 명령을 실행하여 AS 번호 대체 기능을 활성화할 수 있습니다. 즉,PE는 로컬 AS 번호를 사용하여 VPN 사이트를 대체합니다. CE는 수신된 사설망 경로 AS 번호에 위치하므로 피어 CE는 AS 번호 중복으로 인해 경로를 폐기하지 않습니다.

관련 명령

AS 번호 교체

[PE1-bgp-VPN1]peer 30.1.0.5 substitute-as 

너무

CE 멀티 호밍 시나리오에서 BGP의 AS 번호 교체 기능이 활성화되면 라우팅 루프가 발생할 수 있으며 루프를 방지하려면 SoO(Site of Origin) 기능이 필요합니다. ...

CE1과 CE3은 동일한 VPN 사이트 1에 있고, CE2는 사이트 Site2에 있으며, Site1과 Site2의 AS 번호는 모두 65001입니다. EBGP 라우팅 프로토콜은 PE와 CE 사이에서 실행되며, 사이트 1과 사이트 2 사이의 경로를 정상적으로 학습하려면 PE1과 PE2에 AS 번호 대체 기능을 구성해야 합니다.

CE1은 사이트 내 경로를 PE1에 전달하고 PE1은 경로를 CE3에 전달합니다. AS 번호 교체 구성으로 인해 CE3가 경로를 수신하게 되므로 라우팅 루프가 발생할 수 있습니다.​ 

BGP 이웃의 SoO를 구성한 후: 이웃의 BGP 경로를 수신하면 SoO 속성이 경로 속성에 전달되고 다른 BGP 이웃에 알려집니다. BGP 경로를 이웃에게 광고할 때 은 경로의 SoO 속성이 구성된 SoO 값과 동일한지 확인합니다. 동일한 경우 다음과 같은 문제가 발생하는 것을 방지하기 위해 광고되지 않습니다. 루프.

관련 명령

SoO 속성 구성

[PE1-bgp-VPN1]peer 30.1.0.5 soo 200:1
[PE1-bgp-VPN1]peer 30.1.1.6 soo 200:1

허브&스포크 네트워킹

위는 단일 RT를 구성하여 구현되는 인트라넷 네트워킹을 보여줍니다.

엑스트라넷은 동일한 VPN 인스턴스에서 여러 RT를 구성하여 구현됩니다.

Hub&Spoke 솔루션 이용 시 여러 사이트 중 한 사이트를허브(중앙) 사이트로 설정하고 나머지 사이트는 Spoke사이트용. 사이트 간 상호 접속은 사이트 간 데이터 전송을 중앙에서 제어하는 ​​허브 사이트를 거쳐야 합니다.

Hub&Spoke 특성

Spoke 사이트는 경로를 Hub 사이트에 게시한 다음 Hub 사이트를 통해 다른 Spoke 사이트에 게시해야 합니다. 스포크 사이트는 라우팅 정보를 직접 교환하지 않습니다.

Spoke-PE는 내보내기 대상을 "Spoke"로 설정하고 가져오기 대상을 "Hub"로 설정해야 합니다.

Hub-PE에서는 두 개의 인터페이스 또는 하위 인터페이스(두 개의 VPN 인스턴스 생성)를 사용해야 합니다. 하나는 Spoke-PE에서 보낸 경로를 수신하는 데 사용되고 VPN 인스턴스의 가져오기 대상은 "Spoke"이고 다른 하나는 사용됩니다. Spoke-PE로 경로를 전송합니다. PE는 경로를 게시하고 해당 VPN 인스턴스의 내보내기 대상은 "허브"입니다.

허브&스포크 네트워킹 솔루션

1: Hub-CE 및 Hub-PE, Spoke-PE 및 Spoke-CE는 EBGP를 사용합니다.

2: Hub-CE 및 Hub-PE, Spoke-PE 및 Spoke-CE는 IGP를 사용합니다.

3: Hub-CE와 Hub-PE는 EBGP를 사용하고 Spoke-PE와 Spoke-CE는 IGP를 사용합니다.

구성 예: CE와 PE 모두 EBGP를 사용합니다.

요구사항:허브&스포크 네트워킹을 사용하세요. Spoke CE 간의 모든 트래픽은 Hub CE를 통과해야 합니다.

단계:
1. 백본 네트워크의 각 인터페이스에 대해 IP 주소, OSPF 및 MPLS를 구성합니다.
2. PE에 VPN 인스턴스를 구성하고 IBGP 설정
3. 백본이 아닌 네트워크에서 각 인터페이스의 IP 주소를 구성하고, PE와 CE 간에 EBGP를 설정하고, 직접 경로를 도입합니다.

스포크 CE1 구성

#
 sysname Spoke CE1
#
interface GigabitEthernet0/0/0
 ip address 30.1.0.6 255.255.255.0 
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
#
bgp 65006                          //配置与Spoke PE1之间的EBGP
 peer 30.1.0.3 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 30.1.0.3 enable
#

스포크 PE1 구성

#
 sysname Spoke PE1
#
ip vpn-instance VPNA                          
 ipv4-family
  route-distinguisher 100:3
  vpn-target 100:100 export-extcommunity          //配置不同的进出RT
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.3 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPNA
 ip address 30.1.0.3 255.255.255.0 
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance VPNA                 
  import-route direct
  peer 30.1.0.6 as-number 65006             //配置与Spoke CE1之间的EBGP
#
ospf 1 router-id 3.3.3.3 
 area 0.0.0.0 
#

P 구성

#
 sysname P
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.2 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 10.1.1.2 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/2
 ip address 10.1.2.2 255.255.255.0 
 mpls
 mpls ldp
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

허브 PE 구성

#
 sysname Hub PE
#
ip vpn-instance VPNI                          //配置入方向的VPN实例
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 import-extcommunity     //使用与Spoke CE不同的方向RT方向
#
ip vpn-instance VPNO                         //配置出方向的VPN实例
 ipv4-family
  route-distinguisher 100:2
  vpn-target 200:200 export-extcommunity     //使用与Spoke CE不同的方向RT方向
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPNI
 ip address 20.1.0.1 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip binding vpn-instance VPNO
 ip address 20.1.1.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 4.4.4.4 as-number 100 
 peer 4.4.4.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 3.3.3.3 enable
  peer 4.4.4.4 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 3.3.3.3 enable
  peer 4.4.4.4 enable
 #
 ipv4-family vpn-instance VPNI          //配置与Hub CE之间的BGP,有两个方向
  import-route direct
  peer 20.1.0.5 as-number 65005 
 #
 ipv4-family vpn-instance VPNO 
  import-route direct
  peer 20.1.1.5 as-number 65005 
  peer 20.1.1.5 allow-as-loop          //在出方向上的BGP实例下允许本地AS编号重复
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#

허브 CE 구성

#
 sysname Hub CE
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.5 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 20.1.1.5 255.255.255.0 
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
#
bgp 65005                             //配置与Hub PE之间的BGP
 peer 20.1.0.1 as-number 100 
 peer 20.1.1.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 20.1.0.1 enable
  peer 20.1.1.1 enable
#

스포크 PE2 구성

#
 sysname Spoke PE2
#
ip vpn-instance VPNA                        
 ipv4-family
  route-distinguisher 100:4
  vpn-target 100:100 export-extcommunity     //配置不同的RT,同Spoke PE1
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 4.4.4.4
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.2.4 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPNA
 ip address 30.1.1.4 255.255.255.0 
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance VPNA 
  import-route direct
  peer 30.1.1.7 as-number 65007        //配置与Spoke CE2之间的EBGP
#
ospf 1 router-id 4.4.4.4 
 area 0.0.0.0 
#

스포크 CE2 구성

#
 sysname Spoke CE2
#
interface GigabitEthernet0/0/0
 ip address 30.1.1.7 255.255.255.0 
#
interface LoopBack0
 ip address 7.7.7.7 255.255.255.255 
#
bgp 65007                            //配置与Spoke PE2之间的EBGP
 peer 30.1.1.4 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 30.1.1.4 enable
#

Spoke CE 간 통신 테스트

<Spoke CE1>ping 7.7.7.7
  PING 7.7.7.7: 56  data bytes, press CTRL_C to break
    Reply from 7.7.7.7: bytes=56 Sequence=1 ttl=248 time=80 ms
    Reply from 7.7.7.7: bytes=56 Sequence=2 ttl=248 time=90 ms
    Reply from 7.7.7.7: bytes=56 Sequence=3 ttl=248 time=70 ms
    Reply from 7.7.7.7: bytes=56 Sequence=4 ttl=248 time=60 ms
    Reply from 7.7.7.7: bytes=56 Sequence=5 ttl=248 time=60 ms

  --- 7.7.7.7 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 60/72/90 ms

테스트 성공.

구성 예: Hub-CE 및 Hub-PE는 EBGP를 사용하고, Spoke-PE 및 Spoke-CE는 OSPF를 사용합니다.

이전 실험을 예로 들어보겠습니다. 하지만 Spoke-PE와 Spoke-CE 사이의 경로를 교환하는 데 OSPF가 사용되고, Hub-CE와 Hub-PE는 여전히 EBGP를 사용합니다.

스포크 CE1 구성(CE2와 동일)

#
 sysname Spoke CE1
#
interface GigabitEthernet0/0/0
 ip address 30.1.0.6 255.255.255.0 
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
#
ospf 1 router-id 6.6.6.6               //与Spoke PE1之间建立OSPF
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

스포크 PE1 구성(PE2와 동일)

#
 sysname Spoke PE1
#
ip vpn-instance VPNA
 ipv4-family
  route-distinguisher 100:3
  vpn-target 100:100 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.3 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPNA
 ip address 30.1.0.3 255.255.255.0 
 ospf enable 2 area 0.0.0.0                    //与CE1直连接口开启OSPF进程2
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance VPNA 
  import-route ospf 2                        //在BGP中的VPN实例下引入OSPF进程2 
#
ospf 1 router-id 3.3.3.3 
 area 0.0.0.0 
#
ospf 2 router-id 3.3.3.3 vpn-instance VPNA   //开启OSPF进程2并绑定VPN实例
 import-route bgp type 1                     //在OSPF进程2下引入BGP路由
 area 0.0.0.0 
#

Spoke CE 간 통신 테스트

<Spoke CE1>ping 7.7.7.7
  PING 7.7.7.7: 56  data bytes, press CTRL_C to break
    Reply from 7.7.7.7: bytes=56 Sequence=1 ttl=248 time=80 ms
    Reply from 7.7.7.7: bytes=56 Sequence=2 ttl=248 time=80 ms
    Reply from 7.7.7.7: bytes=56 Sequence=3 ttl=248 time=60 ms
    Reply from 7.7.7.7: bytes=56 Sequence=4 ttl=248 time=70 ms
    Reply from 7.7.7.7: bytes=56 Sequence=5 ttl=248 time=60 ms

  --- 7.7.7.7 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 60/70/80 ms

테스트 성공

구성 예: CE와 PE 모두 OSPF를 사용합니다.

이전 실험을 예로 들면, OSPF는 Hub-CE와 Hub-PE 간의 경로 교환에도 사용됩니다.

허브 CE 구성

#
 sysname Hub CE
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.5 255.255.255.0 
 ospf enable 2 area 0.0.0.0            //在入方向的接口开启OSPF进程2
#
interface GigabitEthernet0/0/1
 ip address 20.1.1.5 255.255.255.0 
 ospf enable 3 area 0.0.0.0            //在出方向的接口开启OSPF进程3
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
 ospf enable 2 area 0.0.0.0            //将环回口(代表私网路由)开启入方向的OSPF进程
#
ospf 2 router-id 5.5.5.5               //开启OSPF进程2
 area 0.0.0.0 
#
ospf 3 router-id 5.5.5.5               //开启OSPF进程3
 import-route ospf 2                   //引入OSPF进程2路由
 area 0.0.0.0 
#

허브 PE 구성

#
 sysname Hub PE
#
ip vpn-instance VPNI
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 import-extcommunity
#
ip vpn-instance VPNO
 ipv4-family
  route-distinguisher 100:2
  vpn-target 200:200 export-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPNI
 ip address 20.1.0.1 255.255.255.0 
 ospf enable 2 area 0.0.0.0                //入方向的接口开启OSPF进程2
#
interface GigabitEthernet0/0/2
 ip binding vpn-instance VPNO
 ip address 20.1.1.1 255.255.255.0 
 ospf enable 3 area 0.0.0.0                //出方向的接口开启OSPF进程3
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 4.4.4.4 as-number 100 
 peer 4.4.4.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 3.3.3.3 enable
  peer 4.4.4.4 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 3.3.3.3 enable
  peer 4.4.4.4 enable
 #
 ipv4-family vpn-instance VPNO 
  import-route ospf 3                         //在IBGP中引入Hub CE过来的ospf路由
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#
ospf 2 router-id 1.1.1.1 vpn-instance VPNI    //开启OSPF进程2并绑定入方向的VPN实例
 import-route bgp type 1                      //在入方向中引入IBGP带来的对端路由
 area 0.0.0.0 
#
ospf 3 router-id 1.1.1.1 vpn-instance VPNO    //开启OSPF进程3并绑定出方向的VPN实例
 area 0.0.0.0 
#

CE 간 통신 테스트

<Spoke CE1>tracert 7.7.7.7

 traceroute to  7.7.7.7(7.7.7.7), max hops: 30 ,packet length: 40,press CTRL_C t
o break 

 1 30.1.0.3 20 ms  10 ms  10 ms 

 2 10.1.1.2 50 ms  20 ms  60 ms 

 3 20.1.1.1 30 ms  30 ms  30 ms 

 4 20.1.1.5 40 ms  30 ms  40 ms 

 5 20.1.0.1 40 ms  30 ms  30 ms 

 6 10.1.0.2 60 ms  50 ms  50 ms 

 7 30.1.1.4 40 ms  60 ms  50 ms 

 8 30.1.1.7 50 ms  70 ms  50 ms 

테스트 성공

OSPF 및 BGP 상호 운용성

PE와 CE 간에 라우팅 정보를 교환하기 위해 OSPF를 배포할 때 표준 BGP/OSPF 프로세스(BGP/OSPF 상호 운용이라고 함)를 사용하여 PE에서 서로 라우팅 정보를 전송하는 경우 원격 PE는 BGP를 PE에 도입합니다. VPN 인스턴스의 OSPF 프로세스. , Type5 LSA가 직접 생성되며, 서로 다른 사이트는 다른 사이트의 경로를 자율 시스템 외부 경로(AS_external)로 간주합니다.

실제 적용에서 상호 연결될 두 사이트가 동일한 AS에 있는 경우 각 사이트는 다른 사이트의 경로를 AS 외부 경로가 아닌 영역 간 경로로 간주해야 합니다.

표준 BGP/OSPF 상호 운용으로 인해 발생하는 OSPF 라우팅 정보 손실 문제를 해결하기 위해 BGP와 OSPF가 모두 확장되었습니다.

BGP 확장 커뮤니티 속성

OSPF 라우팅 정보를 유지하기 위해 BGP는 OSPF 라우팅 정보를 전달할 수 있는 몇 가지 새로운 커뮤니티 속성을 추가했습니다.

도메인 ID: 도메인 식별자는 서로 다른 도메인을 식별하고 구별하는 데 사용됩니다.

경로 유형: BGP로 가져온 OSPF 경로의 Area-ID 및 경로 유형을 포함합니다.

Area-ID: PE의 VPN 인스턴스의 OSPF 프로세스가 CE와 인접 관계를 맺는 영역 번호입니다.

경로 유형: 가져온 OSPF 경로 유형

1 또는 2: 경로 유형이 지역 내 라우팅, 즉 Type-1 및 Type-2 LSA를 기반으로 PE에서 계산한 경로임을 나타냅니다.

3: 경로 유형이 지역 간 라우팅임을 나타냅니다.

5: 경로 유형이 OSPF 외부 경로, 즉 Type-5 LSA를 통해 PE에서 계산한 경로임을 나타냅니다. Route-Type 필드의 값이 5인 경우 Area-ID 필드의 값은 0.0.0.0이어야 합니다.

7: 경로 유형이 Type-7 LSA를 통해 PE에서 계산한 경로인 NSSA 경로임을 나타냅니다.

도메인 ID

OSPF가 PE의 BGP에 도입되면 PE는 로컬 구성에 따라 BGP 경로에 도메인 ID 특성을 추가하고 도메인 ID는 BGP의 확장된 커뮤니티 특성으로 전파됩니다.

PE가 BGP 경로를 OSPF로 가져올 때 BGP 경로가 전달하는 도메인 ID가 로컬 ID와 동일한 경우 두 사이트는 동일한 OSPF 라우팅 도메인에 속하는 것으로 간주됩니다. 동일하지 않은 경우에는 동일한 라우팅 도메인에 속하지 않는 것으로 간주됩니다.

VRF에 바인딩된 OSPF 프로세스 보기에서 domain-id 명령을 사용하여 도메인 ID를 구성해야 합니다.

기본적으로 도메인 ID 값은 0(NULL)입니다. 서로 다른 OSPF 도메인이 도메인 ID로 NULL을 사용하는 경우 OSPF 도메인을 구분할 수 없으므로 이들 사이의 경로는 영역 내 경로로 처리됩니다.

OSPF 도메인이 0이 아닌(NULL이 아닌) 도메인 ID로 구성된 경우 NULL은 더 이상 OSPF 도메인의 도메인 ID가 아닙니다.

동일한 VPN과 관련된 모든 OSPF 인스턴스는 동일한 도메인 ID를 사용하거나 기본 도메인 ID를 사용하는 것이 좋습니다.
 

도메인 ID 및 경로 유형

BGP 경로의 도메인 ID 및 경로 유형 속성에 따라 PE는 다양한 유형의 OSPF LSA 유형을 생성하고 이를 VRF의 OSPF 프로세스에 게시합니다.

Domain ID여본지 시절 상동

경로 유형

PE생성적OSPF LSA기술형

123

57

57

아니요

123 57

57

관련 명령

도메인 ID 구성

[PE1-ospf-2]domain-id 1.1.1.1

OSPF VPN 루프 방지

Type3 라우팅 안티루프

문제: 위의 이중 호밍 시나리오에서PE1은 CE1 및 PE3에서 5.5.5.5까지 카테고리 3을 동시에 수신할 수 있기 때문입니다. 시간 라우팅으로 인해 루프나 네트워크 플래핑이 발생합니다.

해결 방법: OSPF의 루프 방지 기능에 따라 PE3에서 유형 3 LSA의 DN 비트 검사를 꺼서 경로 계산을 시작할 수 있습니다. 5.5.5.5에 대한 경로는 CE2로 이동합니다.

관련 명령

유형 3 OSPF LSA의 DN 비트 확인을 비활성화합니다.

[PE3-ospf-2]dn-bit-check disable summary 

Type5/7 라우팅 안티 루프

문제: 위 시나리오에서 PE1은 CE1 및 PE3에서 5.5.5.5로의 카테고리 5 경로를 동시에 수신합니다. PE3의 경로는 BGP에 의해 도입된 IGP(OSPF) 경로이고 해당 AS_Path가 비어 있으므로 경로가 비어 있습니다. PE3의 우선순위가 우선하며 CE1의 우선순위보다 레벨이 높습니다. 따라서 루프가 발생합니다.

해결 방법: 이러한 유형 5 또는 7 라우팅 루프를 방지하려면 PE2 및 PE3에 동일한 VPN 경로 태그를 구성하십시오. PE가 동일한 태그가 포함된 LSA를 수신하면 위 루프를 피하기 위해 이를 무시합니다.

관련 명령

VPN 라우팅 태그 구성

[PE2-ospf-2]route-tag 2

MCE 네트워킹

사설망을 서비스 또는 네트워크 기반의 VPN으로 분할해야 하는 경우, 서로 다른 VPN 사용자 간의 서비스를 완전히 격리해야 합니다. 이때, VPN별로 CE를 구성하게 되면 사용자의 장비 비용과 유지 비용이 증가하게 됩니다.

MCE(Multi-VPN-Instance, CEMulti-instance CE) 기능을 갖춘 CE 장비는 MPLS VPN 네트워킹 애플리케이션에서 사용할 수 있습니다. 다중 VPN 인스턴스의 CE 기능은 네트워크 장비에 대한 사용자 투자를 줄입니다.

MCE는 다양한 인터페이스를 VPN에 바인딩하고 독립적인 라우팅 및 전달 테이블(Multi -VRF)을 생성 및 유지함으로써 PE의 일부 기능을 CE 장비로 확장합니다..

MCE와 해당 PE는 물리적 인터페이스, 하위 인터페이스 또는 논리적 인터페이스를 통해 상호 연결될 수 있으며 이러한 인터페이스는 PE의 해당 VPN 인스턴스에 바인딩되어야 합니다.

MCE 장치에 여러 OSPF VPN 인스턴스를 배포할 때 DN Bit가 Type3, Type5 또는 Type7 LSA에 설정된 경우 OSPF가 경로 계산 중에 루프 방지 감지를 수행하므로 이러한 경로는 계산되지 않습니다. 이 경우 vpn-instance-capability 단순 명령어를 설정하여 OSPF 경로 루프 탐지를 취소하고, DN Bit 및 Route-tag를 확인하지 않고 모든 OSPF 경로를 직접 계산하여 Route-tag를 기본값 1로 복원할 수 있습니다.

관련 명령

DN 비트 및 경로 태그를 포함한 루프 모니터링 비활성화

[MCE-ospf-100] vpn-instance-capability simple

구성 예: MCE 구성

요구 사항: MCE 네트워킹을 사용하고, VPN1과 2는 서로 격리되어 있고, CE1과 CE3-1은 VPN1에 속하고, CE2와 CE3-2는 VPN2에 속하며, 모든 CE는 MCE에 액세스< /span>

단계
1 백본 네트워크 인터페이스 IP, OSPF, MPLS, VPN 인스턴스, IBGP를 구성합니다.
2 CE1, CE2 인터페이스 IP 및 PE1 MCE와 직접 경로 간에 EBGP 가져오기
3 PE2와 PE2 간에 MCE의 VPN 인스턴스, 하위 인터페이스 IP 및 OSPF를 구성합니다. PE2에서 서로 가져오도록 OSPF 및 BGP 경로를 구성합니다. < a i=4> 4 CE3-1과 CE3-2 인터페이스 IP 및 MEC 간에 RIP를 구성합니다. MCE에서 서로 가져오도록 RIP 및 OSPF 경로를 구성합니다.

CE1 구성

#
 sysname CE1
#
router id 5.5.5.5 
#
interface GigabitEthernet0/0/0
 ip address 192.168.0.5 255.255.255.0 
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
#
bgp 65001
 peer 192.168.0.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 192.168.0.1 enable
#

CE2 구성

#
 sysname CE2
#
router id 6.6.6.6 
#
interface GigabitEthernet0/0/0
 ip address 192.167.0.6 255.255.255.0 
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
#
bgp 65002
 peer 192.167.0.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 192.167.0.1 enable
#

PE1 구성

#
 sysname PE1
#
router id 1.1.1.1 
#
ip vpn-instance VPN1
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
ip vpn-instance VPN2
 ipv4-family
  route-distinguisher 200:1
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPN1
 ip address 192.168.0.1 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip binding vpn-instance VPN2
 ip address 192.167.0.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 3.3.3.3 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 3.3.3.3 enable
 #
 ipv4-family vpn-instance VPN1 
  import-route direct
  peer 192.168.0.5 as-number 65001 
 #
 ipv4-family vpn-instance VPN2 
  import-route direct
  peer 192.167.0.6 as-number 65002 
#
ospf 1 
 area 0.0.0.0 
#

P 구성

#
 sysname P
#
router id 2.2.2.2 
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.2 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 10.1.1.2 255.255.255.0 
 mpls
 mpls ldp
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
#
ospf 1 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

PE2 구성

#
 sysname PE2
#
router id 3.3.3.3 
#
ip vpn-instance VPN1
 ipv4-family
  route-distinguisher 200:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
ip vpn-instance VPN2
 ipv4-family
  route-distinguisher 200:2
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.3 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1.1
 dot1q termination vid 1
 ip binding vpn-instance VPN1
 ip address 20.1.0.3 255.255.255.0 
 ospf enable 2 area 0.0.0.0
 arp broadcast enable
#
interface GigabitEthernet0/0/1.2
 dot1q termination vid 2
 ip binding vpn-instance VPN2
 ip address 30.1.0.3 255.255.255.0 
 ospf enable 3 area 0.0.0.0
 arp broadcast enable
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance VPN1 
  import-route ospf 2
 #
 ipv4-family vpn-instance VPN2 
  import-route ospf 3
#
ospf 1 
 area 0.0.0.0 
#
ospf 2 vpn-instance VPN1
 import-route bgp type 1
 area 0.0.0.0 
#
ospf 3 vpn-instance VPN2
 import-route bgp type 1
 area 0.0.0.0 
#

MCE 구성

#
 sysname MCE
#
router id 4.4.4.4 
#
ip vpn-instance VPN1
 ipv4-family
  route-distinguisher 300:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
ip vpn-instance VPN2
 ipv4-family
  route-distinguisher 300:2
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
interface GigabitEthernet0/0/0.1
 dot1q termination vid 1
 ip binding vpn-instance VPN1
 ip address 20.1.0.4 255.255.255.0 
 ospf enable 2 area 0.0.0.0
 arp broadcast enable
#
interface GigabitEthernet0/0/0.2
 dot1q termination vid 2
 ip binding vpn-instance VPN2
 ip address 30.1.0.4 255.255.255.0 
 ospf enable 3 area 0.0.0.0
 arp broadcast enable
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPN1
 ip address 192.168.1.4 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip binding vpn-instance VPN2
 ip address 192.167.1.4 255.255.255.0 
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
#
ospf 2 vpn-instance VPN1
 import-route rip 1
 vpn-instance-capability simple          \\配置禁止环路监测
 area 0.0.0.0 
#
ospf 3 vpn-instance VPN2
 import-route rip 2
 vpn-instance-capability simple          \\配置禁止环路监测
 area 0.0.0.0 
#
rip 1 vpn-instance VPN1
 version 2
 network 192.168.1.0
 import-route ospf 2
#
rip 2 vpn-instance VPN2
 version 2
 network 192.167.1.0
 import-route ospf 3
#

CE3-1 구성

#
 sysname CE3-1
#
interface GigabitEthernet0/0/0
 ip address 192.168.1.7 255.255.255.0 
#
interface LoopBack0
 ip address 7.7.7.7 255.255.255.255 
#
rip 1
 version 2
 network 192.168.1.0
 network 7.0.0.0
 import-route direct
#

CE3-2 구성

#
 sysname CE3-2
#
interface GigabitEthernet0/0/0
 ip address 192.167.1.8 255.255.255.0 
#
interface LoopBack0
 ip address 8.8.8.8 255.255.255.255 
#
rip 2
 version 2
 network 192.167.1.0
 network 8.0.0.0
 import-route direct
#

가짜 링크(의사 링크)

로컬 CE가 위치한 네트워크 세그먼트와 원격 CE가 위치한 네트워크 세그먼트 사이에 영역 내 OSPF 링크가 있는 경우 이를 백도어 링크라고 합니다.

백도어 링크를 통한 경로는 지역 내 경로이며 MPLS VPN 백본 네트워크를 통한 지역 간 경로보다 우선순위가 높기 때문에 VPN 트래픽은 항상 백본 네트워크가 아닌 백도어 경로를 통해 전달됩니다. 백도어 링크는 일반적으로 백업 링크로만 사용됩니다.

위의 문제를 피하기 위해 PE 간에 OSPF 가짜 링크를 설정하여 MPLS VPN 백본 네트워크를 통과하는 경로도 OSPF 지역 내 경로가 되어 선호되도록 할 수 있습니다.

OSPF 가짜 링크는 MPLS VPN 백본 네트워크에 있는 두 PE 간의 지점 간 링크입니다. 이러한 링크는 차용된(번호가 지정되지 않은) 주소를 사용합니다.

OSPF 의사 연결은 동일한 OSPF 영역에 속한 두 사이트 간에 백도어 링크가 있는 경우에만 적용되며, 사이트 간에 백도어 링크가 없는 경우에는 OSPF 의사 연결을 구성할 필요가 없습니다.

MPLS 백본 네트워크를 통해 VPN 트래픽을 전달하려면 의사 연결을 구성할 때 의사 연결의 비용 값이 사용자 네트워크를 통해 전달할 때 OSPF 라우팅의 비용 값보다 작은지 확인하세요. 따라서 사용자 네트워크 전달 인터페이스의 비용 값을 의사 연결의 비용 값보다 크게 조정해야 하는 경우가 많습니다.

관련 명령

의사 연결을 구성하고 의사 연결의 매개변수를 구성합니다(의사 연결의 소스 주소와 대상 주소는 32비트 마스크 루프백 인터페이스 주소를 사용하고 루프백 인터페이스는 VPN 인스턴스에 바인딩되어야 함).

[PE1-ospf-1-area-0.0.0.1]sham-link 1.1.1.1 3.3.3.3

구성 예: 의사 연결 구성

요구 사항: 라우팅이 가상 연결을 선호하도록 MPLS VPN 네트워크에서 가상 연결을 구성합니다.

단계
1 인터페이스 IP, OSPF 1, MPLS, IBGP를 포함하여 백본 네트워크를 구성합니다.
2 VPN 인스턴스를 포함하여 에지 네트워크를 구성합니다. PE, CE와 PE 간 인터페이스 IP, OPPF 2, 경로 가져오기
3 CE 간 OSPF 2 및 OSPF 2 비용 값을 포함한 백도어 연결 구성
4 구성 가상 PE와 OSPF를 연결하는 루프백 포트를 포함한 연결 2

PE1 구성

#
 sysname PE1
#
router id 1.1.1.1 
#
ip vpn-instance VPN1
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPN1
 ip address 20.1.0.1 255.255.255.0 
 ospf enable 2 area 0.0.0.0
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
interface LoopBack1
 ip binding vpn-instance VPN1
 ip address 11.1.1.1 255.255.255.255 
 ospf enable 2 area 0.0.0.0
#
bgp 100
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 3.3.3.3 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 3.3.3.3 enable
 #
 ipv4-family vpn-instance VPN1 
  import-route direct
  import-route ospf 2
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#
ospf 2 router-id 3.3.3.3 vpn-instance VPN1
 import-route bgp
 area 0.0.0.0 
  sham-link 11.1.1.1 33.3.3.3                  //与PE2建立伪连接
#

P 구성

#
 sysname P
#
router id 2.2.2.2 
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.2 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 10.1.1.2 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
#

PE2 구성

#
 sysname PE2
#
router id 3.3.3.3 
#
ip vpn-instance VPN1
 ipv4-family
  route-distinguisher 100:3
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.1.3 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance VPN1
 ip address 30.1.0.3 255.255.255.0 
 ospf enable 2 area 0.0.0.0
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
interface LoopBack1
 ip binding vpn-instance VPN1
 ip address 33.3.3.3 255.255.255.255 
 ospf enable 2 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance VPN1 
  import-route direct
  import-route ospf 2
#
ospf 1 router-id 3.3.3.3 
 area 0.0.0.0 
#
ospf 2 router-id 3.3.3.3 vpn-instance VPN1
 import-route bgp
 area 0.0.0.0 
  sham-link 33.3.3.3 11.1.1.1               //与PE1建立伪连接
#

CE1 구성

#
 sysname CE1
#
router id 4.4.4.4 
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.4 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 40.1.0.4 255.255.255.0 
 ospf cost 10                         //修改(改大)后门连接的开销值
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
#
ospf 2 router-id 4.4.4.4 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

CE2 구성

#
 sysname CE2
#
router id 5.5.5.5 
#
interface GigabitEthernet0/0/0
 ip address 30.1.0.5 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 40.1.0.5 255.255.255.0 
 ospf cost 10                         //修改(改大)后门连接的开销值
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
#
ospf 2 router-id 5.5.5.5 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

CE1의 라우팅 테이블 보기

<CE1>display ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 15       Routes : 15       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        4.4.4.4/32  Direct  0    0           D   127.0.0.1       LoopBack0
        5.5.5.5/32  OSPF    10   3           D   20.1.0.1        GigabitEthernet
0/0/0
       11.1.1.1/32  OSPF    10   1           D   20.1.0.1        GigabitEthernet
0/0/0
       20.1.0.0/24  Direct  0    0           D   20.1.0.4        GigabitEthernet
0/0/0
       20.1.0.4/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
     20.1.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
       30.1.0.0/24  OSPF    10   3           D   20.1.0.1        GigabitEthernet
0/0/0
       33.3.3.3/32  OSPF    10   2           D   20.1.0.1        GigabitEthernet
0/0/0
       40.1.0.0/24  Direct  0    0           D   40.1.0.4        GigabitEthernet
0/0/1
       40.1.0.4/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
     40.1.0.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

CE2(5.5.5.5)로의 경로 비용은 3이고 다음 홉은 PE1이며 구성이 성공합니다.

MPLS VPN 도메인 간 네트워킹

MPLS VPN 솔루션이 널리 사용됨에 따라 서비스를 받는 최종 사용자의 규모와 범위도 커지고 기업 내 사이트 수가 점점 더 많아지고 있습니다. 지리적 위치를 다른 서비스 제공업체에 연결해야 하는 필요성이 매우 커졌습니다. 예를 들어 국내 사업자들의 서로 다른 수도권 네트워크 간이나 서로 협력하는 사업자들의 백본 네트워크 간에 서로 다른 자율 시스템(AS, Autonomous Systems)이 존재하는 상황이 매우 흔한 일이다.

일반 MPLS VPN 아키텍처는 AS 내에서 실행되며 모든 VPN 라우팅 정보는 AS 내에서 요청 시에만 확산될 수 있습니다. AS 간 MPLS VPN 배포는 AS 간 MPLS VPN 솔루션을 통해 구현되어야 합니다.

RFC2547에서는 세 가지 도메인 간 VPN 솔루션이 제안되었습니다.

1 공급자 간 백본 옵션 A(Inter-Provider Backbones Option A) 방법: 도메인 간 VPN은 VRF-to-VRF라고도 하는 ASBR(AS 경계 라우터) 간의 전용 인터페이스를 통해 자체 VPN 라우팅을 관리해야 합니다.

2 공급자 간 백본 옵션 B(공급자 간 백본 옵션 B) 방법: ASBR은 레이블이 지정된 VPN-IPv4 경로의 EBGP 재배포라고도 하는 MP-EBGP를 통해 레이블이 지정된 VPN-IPv4 경로를 게시합니다.

3 공급자 간 백본 옵션 C(Inter-Provider Backbones Option C) 방법: PE는 레이블이 지정된 VPN-IPv4 경로의 멀티홉 EBGP 재배포라고도 하는 멀티홉 MP-EBGP를 통해 레이블이 지정된 VPN-IPv4 경로를 게시합니다.​ 

구성 예: 크로스 도메인 VPN-OptionA

구성 포인트

1 ASBR-PE는 각각 상대방을 자신의 CE로 간주합니다.

2 동일한 AS에 있는 ASBR-PE와 PE의 VPN 인스턴스의 VPN-Target은 일치할 수 있어야 하지만, 다른 AS에 있는 PE의 VPN 인스턴스의 VPN-Target은 일치할 필요가 없습니다.

요구 사항: MPLS 교차 도메인 VPN 옵션 A 네트워킹을 사용하여 AS 간 상호 연결 활성화
단계
1 백본 네트워크의 OSPF, MPLS LDP, IBGP 구성
2 PE와 CE 간 EBGP 구성
3 EBGP 구성 ASBR-PE 간

PE1 구성

#
 sysname PE1
#
router id 1.1.1.1 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 172.16.0.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 5.5.5.5 as-number 100 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 5.5.5.5 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 5.5.5.5 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 172.16.0.3 as-number 65001 
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#

PE2 구성

#
 sysname PE2
#
router id 2.2.2.2 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 200:2
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.2 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 172.16.1.2 255.255.255.0 
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 6.6.6.6 as-number 200 
 peer 6.6.6.6 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 6.6.6.6 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 6.6.6.6 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 172.16.1.4 as-number 65002 
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
#

CE1 구성

#
 sysname CE1
#
router id 3.3.3.3 
#
interface GigabitEthernet0/0/0
 ip address 172.16.0.3 255.255.255.0 
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
#
bgp 65001
 peer 172.16.0.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 172.16.0.1 enable
#

CE2 구성

#
 sysname CE2
#
router id 4.4.4.4 
#
interface GigabitEthernet0/0/0
 ip address 172.16.1.4 255.255.255.0 
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
#
bgp 65002
 peer 172.16.1.2 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 172.16.1.2 enable
#

ASBR-PE1 구성

#
 sysname ASBR-PE1
#
router id 5.5.5.5 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 100:5
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 5.5.5.5
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.5 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 30.1.0.5 255.255.255.0 
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 30.1.0.6 as-number 200       //与ASBR-PE2建立EBGP
#
ospf 1 router-id 5.5.5.5 
 area 0.0.0.0 
#

ASBR-PE2 구성

#
 sysname ASBR-PE2
#
router id 6.6.6.6 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 200:6
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
mpls lsr-id 6.6.6.6
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.6 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 30.1.0.6 255.255.255.0 
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 2.2.2.2 as-number 200 
 peer 2.2.2.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 2.2.2.2 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 30.1.0.5 as-number 100        //与ASBR-PE1建立EBGP
#
ospf 1 router-id 6.6.6.6 
 area 0.0.0.0 
#

시험 결과

<CE1>ping 4.4.4.4
  PING 4.4.4.4: 56  data bytes, press CTRL_C to break
    Reply from 4.4.4.4: bytes=56 Sequence=1 ttl=251 time=50 ms
    Reply from 4.4.4.4: bytes=56 Sequence=2 ttl=251 time=30 ms
    Reply from 4.4.4.4: bytes=56 Sequence=3 ttl=251 time=40 ms
    Reply from 4.4.4.4: bytes=56 Sequence=4 ttl=251 time=40 ms
    Reply from 4.4.4.4: bytes=56 Sequence=5 ttl=251 time=60 ms

  --- 4.4.4.4 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 30/44/60 ms

구성 성공

구성 예: 크로스 도메인 VPN-OptionB

구성 아이디어

두 ASBR은 MP-EBGP를 통해 해당 AS의 PE 장치로부터 수신한 레이블이 지정된 VPN-IPv4 경로를 교환한 다음 VPN-IPv4 경로를 광고합니다.

관련 명령

ASBR을 활성화하고 다음 홉에 따라 VPNv4 경로에 레이블을 지정합니다(장비 부담을 줄이기 위해 동일한 다음 홉과 나가는 레이블이 있는 경로에 레이블을 할당).

[ASBR-PE1-bgp-af-vpnv4]apply-label per-nexthop

구성 단계

1 ASBR-PE는 VPN 인스턴스를 구성할 필요가 없습니다. 서로 다른 AS에 있는 PE의 VPN 인스턴스 RT는 동일해야 합니다.

2 ASBR-PE 간 인터페이스에서 mpls를 활성화합니다.

3 ASBR-PE 간의 EBGP 관계를 설정합니다.

4 ASBR-PE의 BGP 보기에서 VPNV4 아래의 vpn-target 정책을 끄고 VPNv4 경로에 레이블을 지정하려면 VPNV4 아래의 다음 홉 누르기를 활성화합니다.

OptionA의 그림을 예로 들면 ASBR-PE와 PE2의 구성을 수정해야 합니다.

ASBR-PE1 구성

#
 sysname ASBR-PE1
#
router id 5.5.5.5 
#
mpls lsr-id 5.5.5.5
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.5 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 30.1.0.5 255.255.255.0 
 mpls                                     //与ASBR-PE2相连的接口开启MPLS
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 30.1.0.6 as-number 200               //与ASBR-PE2建立BGP
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 30.1.0.6 enable
 # 
 ipv4-family vpnv4
  undo policy vpn-target                 //关闭VT策略
  apply-label per-nexthop                //开启vpnv4相同下一跳的分配相同标签的功能
  peer 1.1.1.1 enable
  peer 30.1.0.6 enable                   //开启ASBR-PE2的接口到vpnv4
#
ospf 1 router-id 5.5.5.5 
 area 0.0.0.0 
#

ASBR-PE2 구성

#
 sysname ASBR-PE2
#
router id 6.6.6.6 
#
mpls lsr-id 6.6.6.6
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.6 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 30.1.0.6 255.255.255.0 
 mpls
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 2.2.2.2 as-number 200 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 30.1.0.5 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 30.1.0.5 enable
 # 
 ipv4-family vpnv4
  undo policy vpn-target
  apply-label per-nexthop
  peer 2.2.2.2 enable
  peer 30.1.0.5 enable
#
ospf 1 router-id 6.6.6.6 
 area 0.0.0.0 
#

PE2 구성

#
 sysname PE2
#
router id 2.2.2.2 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 200:2
  vpn-target 100:100 export-extcommunity          //修改成和PE1一样的RT
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.2 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 172.16.1.2 255.255.255.0 
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 6.6.6.6 as-number 200 
 peer 6.6.6.6 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 6.6.6.6 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 6.6.6.6 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 172.16.1.4 as-number 65002 
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
#

시험 결과

<CE1>ping 4.4.4.4
  PING 4.4.4.4: 56  data bytes, press CTRL_C to break
    Reply from 4.4.4.4: bytes=56 Sequence=1 ttl=251 time=50 ms
    Reply from 4.4.4.4: bytes=56 Sequence=2 ttl=251 time=60 ms
    Reply from 4.4.4.4: bytes=56 Sequence=3 ttl=251 time=40 ms
    Reply from 4.4.4.4: bytes=56 Sequence=4 ttl=251 time=40 ms
    Reply from 4.4.4.4: bytes=56 Sequence=5 ttl=251 time=50 ms

  --- 4.4.4.4 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 40/48/60 ms

테스트 구성 성공

구성 예: 크로스 도메인 VPN-OptionC

구성 아이디어

ASBR은 VPN-IPv4 경로를 유지하거나 게시하지 않으며 PE는 VPN-IPv4 경로를 직접 교환합니다.

옵션 1

관련 명령

태그 전송 기능을 켜세요

[PE1-bgp-af-ipv4]peer 1.1.1.1 label-route-capability

구성 포인트

1 ASBR-PE는 VPN 인스턴스를 구성할 필요가 없습니다. 서로 다른 AS에 있는 PE의 VPN 인스턴스 RT는 동일해야 합니다.

2 ASBR-PE 간 인터페이스에서 mpls를 활성화합니다.

ASBR-PE와 PE 사이의 3 IBGP를 통해 라벨 전송 가능

4 ASBR-PE 간에 EBGP 관계를 설정하고 레이블을 보내는 기능을 활성화합니다.

5 ASBR-PE에서 라우팅 정책을 구성합니다. 피어 ASBR-PE에 공지된 경로의 경우 MPLS 레이블을 할당하고, 이 AS의 PE에 공지된 경로의 경우 IPv4 경로 레이블이 지정된 경우 새 MPLS 레이블을 할당합니다.

6 PE 간의 EBGP 관계를 설정합니다.

OptionB의 그림을 예로 들면 ASBR-PE와 PE의 구성을 수정해야 합니다.

ASBR-PE1 구성

#
 sysname ASBR-PE1
#
router id 5.5.5.5 
#
mpls lsr-id 5.5.5.5
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.5 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 30.1.0.5 255.255.255.0 
 mpls                                        //朝向对端ASBR-PE的接口开启mpls
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 30.1.0.6 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  network 1.1.1.1 255.255.255.255           //将本端PE的路由发布给对端ASBR
  peer 1.1.1.1 enable
  peer 1.1.1.1 route-policy p2 export       //对本端PE应用策略P2
  peer 1.1.1.1 label-route-capability       //对本端PE开启打标签的能力
  peer 30.1.0.6 enable
  peer 30.1.0.6 route-policy p1 export      //对ASBR应用策略P1
  peer 30.1.0.6 label-route-capability      //对ASBR开启打标签的能力
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
#
ospf 1 router-id 5.5.5.5 
 area 0.0.0.0 
#
route-policy p1 permit node 1     //配置策略P1,分配标签
 apply mpls-label
#
route-policy p2 permit node 1     //配置策略P2,如果带标签,则分配新标签
 if-match mpls-label 
 apply mpls-label
#

ASBR-PE2 구성

#
 sysname ASBR-PE2
#
router id 6.6.6.6 
#
mpls lsr-id 6.6.6.6
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.6 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 30.1.0.6 255.255.255.0 
 mpls
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 2.2.2.2 as-number 200 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 30.1.0.5 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  network 2.2.2.2 255.255.255.255 
  peer 2.2.2.2 enable
  peer 2.2.2.2 route-policy p2 export
  peer 2.2.2.2 label-route-capability
  peer 30.1.0.5 enable
  peer 30.1.0.5 route-policy p1 export
  peer 30.1.0.5 label-route-capability
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 2.2.2.2 enable
#
ospf 1 router-id 6.6.6.6 
 area 0.0.0.0 
#
route-policy p1 permit node 1 
 apply mpls-label
#
route-policy p2 permit node 1 
 if-match mpls-label 
 apply mpls-label
#

PE1 구성

#
 sysname PE1
#
router id 1.1.1.1 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 172.16.0.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 2.2.2.2 as-number 200                    //与对端PE建立EBGP,配置最大跳数等
 peer 2.2.2.2 ebgp-max-hop 10 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 5.5.5.5 as-number 100 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 5.5.5.5 enable
  peer 5.5.5.5 label-route-capability       //开启对本端ASBR-PE分配标签的能力
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 2.2.2.2 enable                       //开启对端PE的vpnv4
  peer 5.5.5.5 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 172.16.0.3 as-number 65001 
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#

PE2 구성

#
 sysname PE2
#
router id 2.2.2.2 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 200:2
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.2 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 172.16.1.2 255.255.255.0 
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 ebgp-max-hop 10 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 6.6.6.6 as-number 200 
 peer 6.6.6.6 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 6.6.6.6 enable
  peer 6.6.6.6 label-route-capability
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
  peer 6.6.6.6 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 172.16.1.4 as-number 65002 
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
#

시험 결과

<CE1>ping 4.4.4.4
  PING 4.4.4.4: 56  data bytes, press CTRL_C to break
    Reply from 4.4.4.4: bytes=56 Sequence=1 ttl=251 time=60 ms
    Reply from 4.4.4.4: bytes=56 Sequence=2 ttl=251 time=50 ms
    Reply from 4.4.4.4: bytes=56 Sequence=3 ttl=251 time=50 ms
    Reply from 4.4.4.4: bytes=56 Sequence=4 ttl=251 time=40 ms
    Reply from 4.4.4.4: bytes=56 Sequence=5 ttl=251 time=40 ms

  --- 4.4.4.4 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 40/48/60 ms

테스트 성공

옵션 II

관련 명령

레이블이 지정된 공용 네트워크 BGP 경로에 레이블을 할당하도록 LDP 구성

[ASBR-PE1-mpls]lsp-trigger bgp-label-route

구성 포인트(옵션 1 기준)

1 ASBR-PE와 PE 간에 IBGP 관계가 설정되지 않았습니다.

2 ASBR-PE의 BGP 경로를 OSPF 프로세스로 가져옵니다.

옵션 C 솔루션 1을 예로 들면 ASBR-PE와 PE의 구성을 수정해야 합니다.

ASBR-PE1 구성

#
 sysname ASBR-PE1
#
router id 5.5.5.5 
#
mpls lsr-id 5.5.5.5
mpls
 lsp-trigger bgp-label-route         //配置LDP为带标签的公网BGP路由分标签的能力
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.5 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 30.1.0.5 255.255.255.0 
 mpls
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100                                //不与PE1建立IBGP
 peer 30.1.0.6 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  network 1.1.1.1 255.255.255.255 
  peer 30.1.0.6 enable
  peer 30.1.0.6 route-policy p1 export
  peer 30.1.0.6 label-route-capability
#
ospf 1 router-id 5.5.5.5 
 import-route bgp                      //在OSPF中引入BGP路由
 area 0.0.0.0 
#
route-policy p1 permit node 1 
 apply mpls-label
#

ASBR-PE2 구성

#
 sysname ASBR-PE2
#
router id 6.6.6.6 
#
mpls lsr-id 6.6.6.6
mpls
 lsp-trigger bgp-label-route
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.6 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 30.1.0.6 255.255.255.0 
 mpls
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 30.1.0.5 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  network 2.2.2.2 255.255.255.255 
  peer 30.1.0.5 enable
  peer 30.1.0.5 route-policy p1 export
  peer 30.1.0.5 label-route-capability
#
ospf 1 router-id 6.6.6.6 
 import-route bgp
 area 0.0.0.0 
#
route-policy p1 permit node 1 
 apply mpls-label
#

PE1 구성

#
 sysname PE1
#
router id 1.1.1.1 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 172.16.0.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100                                      //不与ASBR-PE1建立BGP
 peer 2.2.2.2 as-number 200 
 peer 2.2.2.2 ebgp-max-hop 10 
 peer 2.2.2.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 2.2.2.2 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 172.16.0.3 as-number 65001 
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#

PE2 구성

#
 sysname PE2
#
router id 2.2.2.2 
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 200:2
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.2 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 172.16.1.2 255.255.255.0 
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 ebgp-max-hop 10 
 peer 1.1.1.1 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 1.1.1.1 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 172.16.1.4 as-number 65002 
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
#

시험 결과

<CE1>ping 4.4.4.4
  PING 4.4.4.4: 56  data bytes, press CTRL_C to break
    Reply from 4.4.4.4: bytes=56 Sequence=1 ttl=251 time=70 ms
    Reply from 4.4.4.4: bytes=56 Sequence=2 ttl=251 time=40 ms
    Reply from 4.4.4.4: bytes=56 Sequence=3 ttl=251 time=30 ms
    Reply from 4.4.4.4: bytes=56 Sequence=4 ttl=251 time=50 ms
    Reply from 4.4.4.4: bytes=56 Sequence=5 ttl=251 time=50 ms

  --- 4.4.4.4 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 30/48/70 ms

테스트 성공

옵션 2(RR 시나리오 포함) 

요구 사항: 두 개의 네트워크와 RR이 포함된 MPLS 교차 도메인 VPN 옵션 C 솔루션을 사용하는 시나리오

구성 단계
1 각 AS 백본 네트워크 IP 인터페이스, OSPF, MPLS LDP, IBGP(RR)를 구성합니다.
2 각 AS 에지 PE를 다음으로 구성합니다. CE의 EBGP(VPN 인스턴스)
3 도메인의 PE 경로를 피어 PE에 광고합니다. 먼저 도메인의 PE 경로를 BGP를 통해 피어 ASBR-PE에 광고합니다. 로컬 ASBR-PE. BGP 경로를 원격 ASBR-PE의 IGP로 가져오면 원격 PE는 IGP를 사용하여 로컬 도메인의 PE 경로를 학습합니다.
4 ASBR-PE1과 ASBR-PE2는 레이블이 지정된 IPv4 경로를 교환할 수 있습니다.
5 레이블이 지정된 공용 네트워크 BGP 경로에 대해 LDP LSP를 설정하도록 ASBR-PE를 구성합니다.
6 서로 다른 AS의 RR 간에 MP-EBGP 피어 관계를 설정하고 RR 간의 최대 홉 수를 구성합니다.

구성 지점
1 PE는 이 AS의 RR과 MP-IBGP 이웃 관계를 설정합니다.
2 RR은 다른 AS의 RR과 MP-EBGP 인접 관계를 설정하고 다음 홉을 수정하지 않습니다.
   RR은 이 AS의 PE와 MP-IBGP 이웃 관계를 설정하고 다음 홉을 수정하지 않습니다.
3 ASBR-PE와 다른 AS의 ASBR-PE는 레이블이 지정된 IPv4 경로를 교환할 수 있습니다.
   레이블이 있는 공용 네트워크 BGP 경로에 대해 LDP LSP를 설정하도록 구성합니다. 
   ASBR을 상호 연결하는 인터페이스에서 MPLS를 활성화해야 합니다.

ASBR-PE1 구성

#
 sysname ASBR-PE1
#
mpls lsr-id 7.7.7.7
mpls
 lsp-trigger bgp-label-route     //配置为带标签的公网BGP路由建立LDP LSP
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.0.2.7 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 30.0.0.7 255.255.255.0 
 mpls                                 //与ASBR-PE2的直连接口开启MPLS
#
interface LoopBack0
 ip address 7.7.7.7 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 30.0.0.8 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  network 5.5.5.5 255.255.255.255 
  peer 30.0.0.8 enable
  peer 30.0.0.8 route-policy p1 export    //对向ASBR-PE2发布的路由应用路由策略
  peer 30.0.0.8 label-route-capability    //开启与ASBR-PE2交换标签IPv4路由的能力
#
ospf 1 router-id 7.7.7.7 
 import-route bgp                       //将BGP路由引入到IGP
 area 0.0.0.0 
#
route-policy p1 permit node 1           //创建路由策略
 apply mpls-label
#

ASBR-PE2 구성

#
 sysname ASBR-PE2
#
mpls lsr-id 8.8.8.8
mpls
 lsp-trigger bgp-label-route
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.0.2.8 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 30.0.0.8 255.255.255.0 
 mpls
#
interface LoopBack0
 ip address 8.8.8.8 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 30.0.0.7 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  network 6.6.6.6 255.255.255.255 
  peer 30.0.0.7 enable
  peer 30.0.0.7 route-policy p1 export
  peer 30.0.0.7 label-route-capability
#
ospf 1 router-id 8.8.8.8 
 import-route bgp
 area 0.0.0.0 
#
route-policy p1 permit node 1 
 apply mpls-label
#

RR1 구성

#
 sysname RR1
#
mpls lsr-id 5.5.5.5
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.0.1.5 255.255.255.0 
 mpls
 mpls ldp
#
interface LoopBack0
 ip address 5.5.5.5 255.255.255.255 
#
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 6.6.6.6 as-number 200 
 peer 6.6.6.6 ebgp-max-hop 10 
 peer 6.6.6.6 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 1.1.1.1 reflect-client            //与PE1建立反射
  peer 1.1.1.1 next-hop-invariable       //配置下一跳不变,使流量不经过RR1,只提供路由反射。
  peer 6.6.6.6 enable
  peer 6.6.6.6 next-hop-invariable       //配置下一跳不变,使流量不经过RR1,只提供路由反射。
 # 
 ipv4-family vpnv4
  undo policy vpn-target               //关闭VT策略
  peer 1.1.1.1 enable
  peer 6.6.6.6 enable
#
ospf 1 router-id 5.5.5.5 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

RR2 구성

#
 sysname RR2
#
mpls lsr-id 6.6.6.6
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.0.1.6 255.255.255.0 
 mpls
 mpls ldp
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
#
bgp 200
 peer 2.2.2.2 as-number 200 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 5.5.5.5 as-number 100 
 peer 5.5.5.5 ebgp-max-hop 10 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 2.2.2.2 reflect-client
  peer 2.2.2.2 next-hop-invariable 
  peer 5.5.5.5 enable
  peer 5.5.5.5 next-hop-invariable 
 # 
 ipv4-family vpnv4
  undo policy vpn-target
  peer 2.2.2.2 enable
  peer 5.5.5.5 enable
#
ospf 1 router-id 6.6.6.6 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

PE1 구성

#
 sysname PE1
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 100:1
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.0.0.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 10.1.0.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 100
 peer 5.5.5.5 as-number 100 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 5.5.5.5 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 5.5.5.5 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 10.1.0.9 as-number 65001 
#
ospf 1 router-id 1.1.1.1 
 area 0.0.0.0 
#

PE2 구성

#
 sysname PE2
#
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 200:2
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.0.0.2 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance vpn1
 ip address 20.1.0.2 255.255.255.0 
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 200
 peer 6.6.6.6 as-number 200 
 peer 6.6.6.6 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 6.6.6.6 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 6.6.6.6 enable
 #
 ipv4-family vpn-instance vpn1 
  import-route direct
  peer 20.1.0.10 as-number 65002 
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
#

P1 구성

#
 sysname P1
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 10.0.0.3 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 10.0.1.3 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/2
 ip address 10.0.2.3 255.255.255.0 
 mpls
 mpls ldp
#
interface NULL0
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
#
ospf 1 router-id 3.3.3.3 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

P2 구성

#
 sysname P2
#
mpls lsr-id 4.4.4.4
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 20.0.0.4 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 20.0.1.4 255.255.255.0 
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/2
 ip address 20.0.2.4 255.255.255.0 
 mpls
 mpls ldp
#
interface NULL0
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
#
ospf 1 router-id 4.4.4.4 
 area 0.0.0.0 
  network 0.0.0.0 255.255.255.255 
#

CE1 구성

#
 sysname CE1
#
interface GigabitEthernet0/0/0
 ip address 10.1.0.9 255.255.255.0 
#
interface LoopBack0
 ip address 9.9.9.9 255.255.255.255 
#
bgp 65001
 peer 10.1.0.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 10.1.0.1 enable
#

CE2 구성

#
 sysname CE2
#
interface GigabitEthernet0/0/0
 ip address 20.1.0.10 255.255.255.0 
#
interface LoopBack0
 ip address 10.10.10.10 255.255.255.255 
#
bgp 65002
 peer 20.1.0.2 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct
  peer 20.1.0.2 enable
#

시험 결과

<CE1>ping 10.10.10.10
  PING 10.10.10.10: 56  data bytes, press CTRL_C to break
    Reply from 10.10.10.10: bytes=56 Sequence=1 ttl=245 time=80 ms
    Reply from 10.10.10.10: bytes=56 Sequence=2 ttl=245 time=80 ms
    Reply from 10.10.10.10: bytes=56 Sequence=3 ttl=245 time=100 ms
    Reply from 10.10.10.10: bytes=56 Sequence=4 ttl=245 time=100 ms
    Reply from 10.10.10.10: bytes=56 Sequence=5 ttl=245 time=90 ms

  --- 10.10.10.10 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 80/90/100 ms

테스트 성공

세 가지 도메인 간 방법 비교

도메인 간 모드

특징

옵션 A

장점은 구성이 간단하다는 것입니다. MPLS는 ASBR 간에 실행할 필요가 없으며 도메인 간에는 특별한 구성이 필요하지 않습니다.

단점은 확장성이 좋지 않다는 점입니다. ASBR은 모든 VPN 경로를 관리하고 각 VPN에 대해 VPN 인스턴스를 생성해야 하므로 ASBR에 과도한 수의 VPNv4 경로가 발생합니다. 또한 ASBR 간에는 일반 IP 전달이 사용되므로 각 교차 도메인 VPN마다 서로 다른 인터페이스(하위 인터페이스, 물리적 인터페이스 또는 번들 논리적 인터페이스일 수 있음)가 필요하므로 ASBR 장비에 대한 요구 사항이 늘어납니다. 여러 자치 도메인에 걸쳐 있는 경우 중간 도메인은 VPN 서비스를 지원해야 하며 이는 많은 양의 구성이 필요할 뿐만 아니라 중간 도메인에 큰 영향을 미칩니다. 크로스 도메인 VPN의 수가 상대적으로 적을 경우 이를 우선적으로 사용할 수 있습니다.

옵션B

OptionA와 달리 OptionB 솔루션은 ASBR 간의 상호 연결 링크 수에 의해 제한되지 않습니다.

제한 사항: VPN 라우팅 정보는 AS 간 ASBR 라우터를 통해 저장 및 확산되는데, VPN 경로가 많을 경우 ASBR에 부담이 가해져 쉽게 병목 현상이 발생할 수 있습니다. 따라서 MP-EBGP 솔루션에서 VPN 라우팅 정보를 유지해야 하는 ASBR은 일반적으로 더 이상 공용 네트워크 IP 전달을 담당하지 않습니다.

옵션C

VPN 경로는 중간 장치에 의한 저장 및 전달 없이 수신 PE와 송신 PE 간에 직접 교환됩니다.

VPN 라우팅 정보는 PE 장치에만 나타나는 반면, P 및 ASBR 라우터는 패킷 전달만 담당하므로 중간 도메인의 장치는 MPLS VPN 서비스를 지원할 필요가 없고 MPLS 전달만 지원하면 됩니다. 병목 현상. 따라서 여러 AS를 확장할 때 크로스 도메인 VPN-OptionC를 사용하는 것이 더 적합합니다.

MPLS VPN 로드 공유를 지원하는 데 더 적합합니다.

단점은 종단 간 BGP LSP 연결을 유지하려면 관리 비용이 많이 든다는 것입니다.

추천

출처blog.csdn.net/x629242/article/details/128740659