目錄

簡介

必要條件

需求

採用元件

背景資訊

場景1 - BGP和IGP之間的VRF路由洩漏(EIGRP)

網路圖表

設定

驗證

場景2 - VRF A和VRF B之間的VRF洩漏

網路圖表

設定

驗證

場景3 — 使用BGP的OSPF(VRF)和EIGRP（全域性）之間的VRF洩漏（可選）

網路圖表

設定

驗證

其他資源

簡介

本文檔介紹並提供虛擬路由和轉發(VRF)路由洩漏的常用方法的配置示例。

必要條件

需求

思科建議您瞭解以下主題：

- 邊界閘道通訊協定(BGP)

- 路由協定重分發

- VRF

- Cisco IOS® XE軟體

有關這些主題的詳細資訊，請參閱：

重新分發路由協定

EIGRP和BGP之間的相互重分發配置示例

瞭解OSPF路由重分發到BGP

採用元件

本檔案中的資訊是根據使用Cisco IOS® XE版本16.12.X和17.X的路由器

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

VRF允許路由器為不同的虛擬網路維護單獨的路由表。當需要異常時，VRF路由洩漏允許在VRF之間路由某些流量，而不使用靜態路由。

場景1 - BGP和IGP之間的VRF路由洩漏(EIGRP)

案例1提供了BGP和EIGRP之間的VRF路由洩漏示例。此方法可用於其他IGP。

網路圖表

如圖1所示的網路圖顯示了需要路由洩漏的第3層拓撲。

圖1.案例1的路由洩漏拓撲

路由器「LEAK」具有到VRF A中鄰居的BGP鄰居關係，以及全域性VRF中的EIGRP鄰居關係。  裝置192.168.11.11需要能夠通過網路連線到裝置172.16.10.10。

由於路由位於不同的VRF中，路由器LEAK無法在兩者之間路由。  這些路由表顯示每個VRF的當前路由，並指明哪些路由需要在全域性VRF和VRF A之間洩漏。

洩漏路由表：

EIGRP路由表（全域性路由）

LEAK#show ip route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP

n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

H - NHRP, G - NHRP registered, g - NHRP registration summary

o - ODR, P - periodic downloaded static route, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

C 192.168.1.0/24 is directly connected, GigabitEthernet2

L 192.168.1.1/32 is directly connected, GigabitEthernet2

192.168.11.0/32 is subnetted, 1 subnets

D 192.168.11.11 [90/130816] via 192.168.1.2, 02:30:29, GigabitEthernet2 >> Route to be exchange to the VRF A routing table.

VRF A路由表

LEAK#show ip route vrf A

Routing Table: A

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP

n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

H - NHRP, G - NHRP registered, g - NHRP registration summary

o - ODR, P - periodic downloaded static route, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C 10.0.0.0/30 is directly connected, GigabitEthernet1

L 10.0.0.1/32 is directly connected, GigabitEthernet1

172.16.0.0/32 is subnetted, 1 subnets

B 172.16.10.10 [200/0] via 10.0.0.2, 01:47:58 >> Route to be exchange to the global routing table.

設定

請按照以下步驟在兩個路由表之間建立洩漏：

Step 1.

Create route-maps to filter the routes to be injected in both routing tables.

LEAK(config)#Route-map VRF_TO_EIGRP

LEAK(config-route-map)#match ip address prefix-list VRF_TO_EIGRP

LEAK(config-route-map)#exit

!

Prefix-list created to match the host that is attached to the previous route-map configured.

!

ip prefix-list VRF_TO_EIGRP permit 172.16.10.10/32

or

LEAK(config)#Route-map VRF_TO_EIGRP

LEAK(config-route-map)# match ip address 10

LEAK(config-route-map)#exit

!

ACL created to match the host that is attached to the previous route-map.

!

LEAK#show ip access-lists 10

10 permit 172.16.10.10

LEAK(config)#Route-map EIGRP_TO_VRF

LEAK(config-route-map)#match ip address prefix-list EIGRP_TO_VRF

LEAK(config-route-map)#exit

LEAK(config)#

!

Prefix-list created to match the host that is attached to the previous route-map configured.

!

ip  prefix-list EIGRP_TO_VRF  permit 192.168.11.11/32

or

LEAK(config)#Route-map EIGRP_TO_VRF

LEAK(config-route-map)#match ip address 20

LEAK(config-route-map)#exit

LEAK(config)#

!

ACL created to match the host that is attached to the previous route-map.

!

LEAK#show ip access-list 20

10 permit 192.168.11.11

Step 2.

Define the import/export maps and add the route-map names.

LEAK(config)#vrf definition A

LEAK(config-vrf)#address-family ipv4

LEAK(config-vrf-af)#import ipv4 unicast map EIGRP_TO_VRF >> Import the global routing table routes at the VRF routing table.

LEAK(config-vrf-af)#export ipv4 unicast map VRF_TO_EIGRP >> Export the VRF routes to the Global Routing Table.

LEAK(config-vrf-af)#end

Step 3.

Proceed with the dual redistribution.

Redistribute EIGRP

LEAK(config)#router bgp 1

LEAK(config-router)#redistribute eigrp 1

LEAK(config-router)#end

Redistribution BGP

LEAK(config)#router eigrp 1

LEAK(config-router)#redistribute bgp 1 metric 100 1 255 1 1500

LEAK(config-router)#end

驗證

Routing table from VRF A

LEAK#show ip route vrf A

Routing Table: A

< Snip for resume >

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C 10.0.0.0/30 is directly connected, GigabitEthernet1

L 10.0.0.1/32 is directly connected, GigabitEthernet1

172.16.0.0/32 is subnetted, 1 subnets

B 172.16.10.10 [200/0] via 10.0.0.2, 00:58:53

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

B 192.168.1.0/24 is directly connected, 00:01:00, GigabitEthernet2

L 192.168.1.1/32 is directly connected, GigabitEthernet2

192.168.11.0/32 is subnetted, 1 subnets

B 192.168.11.11 [20/130816] via 192.168.1.2, 00:01:00, GigabitEthernet2 >> Route from global routing table at VRF A routing table.

Global Routing Table (EIGRP)

LEAK#show ip route

< snip for resume >

Gateway of last resort is not set

172.16.0.0/32 is subnetted, 1 subnets

B 172.16.10.10 [200/0] via 10.0.0.2 (A), 00:04:47  >> Route from VRF A at global routing table.

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

C 192.168.1.0/24 is directly connected, GigabitEthernet2

L 192.168.1.1/32 is directly connected, GigabitEthernet2

192.168.11.0/32 is subnetted, 1 subnets

D 192.168.11.11 [90/130816] via 192.168.1.2, 01:03:35, GigabitEthernet2

LEAK#

場景2 - VRF A和VRF B之間的VRF洩漏

案例2說明兩個不同的VRF之間的洩漏。

網路圖表

本檔案會使用以下網路設定：

圖2.案例2的路由洩漏拓撲

路由器「LEAK」與VRF A中的鄰居有BGP鄰居關係，VRF B中有一個OSPF鄰居。裝置192.168.11.11需要通過網路連線到裝置172.16.10.10。

由於路由位於不同的VRF中，路由器LEAK無法在兩者之間路由。這些路由表顯示每個VRF的當前路由，並指明哪些路由需要在VRF A和VRF B之間洩漏。

洩漏路由表：

VRF A路由表

LEAK#show ip route vrf A

Routing Table: A

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP

n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

H - NHRP, G - NHRP registered, g - NHRP registration summary

o - ODR, P - periodic downloaded static route, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C 10.0.0.0/30 is directly connected, Ethernet0/0

L 10.0.0.2/32 is directly connected, Ethernet0/0

172.16.0.0/32 is subnetted, 1 subnets

B 172.16.10.10 [200/0] via 10.0.0.1, 00:03:08 >> Route to be exchange to routing table VRF B.

VRF B路由表

LEAK#show ip route vrf B

Routing Table: B

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP

n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

H - NHRP, G - NHRP registered, g - NHRP registration summary

o - ODR, P - periodic downloaded static route, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

C 192.168.1.0/24 is directly connected, Ethernet0/1

L 192.168.1.2/32 is directly connected, Ethernet0/1

192.168.11.0/32 is subnetted, 1 subnets

O 192.168.11.11 [110/11] via 192.168.1.1, 00:58:45, Ethernet0/1 >> Route to be exchange to routing table VRF A.

設定

執行以下步驟在兩個路由表之間建立洩漏：

Step 1.

Create route-maps to filter the routes to be injected in both routing tables.

LEAK(config)#Route-map VRFA_TO_VRFB

LEAK(config-route-map)#match ip address prefix-list VRFA_TO_VRFB

LEAK(config-route-map)#exit

!

Prefix-list created to match the host and IP segment that is attached to the previous route-map configured.

!

ip prefix-list VRFA_TO_VRFB permit 172.16.10.10/32

ip prefix-list VRFA_TO_VRFB permit 10.0.0.0/30

or

LEAK(config)#Route-map VRFA_TO_VRFB

LEAK(config-route-map)#match ip address 10

LEAK(config-route-map)#exit

!

ACL created to match the host and IP segment that is attached to the previous route-map.

!

LEAK#show ip access-lists 10

10 permit 172.16.10.10

20 permit 10.0.0.0

LEAK(config)#Route-map VRFB_TO_VRFA

LEAK(config-route-map)#match ip address prefix-list VRFB_TO_VRFA

LEAK(config-route-map)#exit

!

Prefix-list created to match the host and IP segment that is attached to the previous route-map configured.

!

ip prefix-list VRFB_TO_VRFA permit 192.168.11.11/32

ip prefix-list VRFB_TO_VRFA permit 192.168.1.0/24

or

LEAK(config)#Route-map VRFB_TO_VRFA

LEAK(config-route-map)#match ip address 20

LEAK(config-route-map)#exit

!

ACL created to match the host and IP segment that is attached to the previous route-map configured.

!

LEAK#show ip access-lists 20

10 permit 192.168.11.11

20 permit 192.168.1.0

Step 2.

At the VRFs configure the import/export map, use the route-map names to leak the routes.

LEAK(config)#vrf definition A

LEAK(config-vrf)#address-family ipv4

LEAK(config-vrf-af)#export map VRFA_TO_VRFB

LEAK(config-vrf-af)#import map VRFB_TO_VRFA

LEAK(config)#vrf definition B

LEAK(config-vrf)#address-family ipv4

LEAK(config-vrf-af)#export map VRFB_TO_VRFA

LEAK(config-vrf-af)#import map VRFA_TO_VRFB

Step 3.

Add the route-target to import and export the route distinguiser from both VRFs.

! --- Current configuration for VRF A

vrf definition A

rd 1:2

!

address-family ipv4

route-target export 1:2

route-target import 1:1

exit-address-family

! --- Current configuration from VRF B

vrf definition B

rd 2:2

!

address-family ipv4

exit-address-family

! --- Import the routes from VRF  B into VRF A

LEAK(config)#vrf definition A

LEAK(config-vrf)#address-family ipv4

LEAK(config-vrf-af)#route-target import 2:2

! --- Import routes from VRF A to VRF B and export routes from VRF B

LEAK(config-vrf-af)#vrf definition B

LEAK(config-vrf)#address-family ipv4

LEAK(config-vrf-af)#route-target import 1:2

LEAK(config-vrf-af)#route-target export 2:2

驗證

Check the Routing Tables

VRF A Routing Table

LEAK#show ip route vrf A

Routing Table: A

< Snip for resume >

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C 10.0.0.0/30 is directly connected, Ethernet0/0

L 10.0.0.2/32 is directly connected, Ethernet0/0

172.16.0.0/32 is subnetted, 1 subnets

B 172.16.10.10 [200/0] via 10.0.0.1, 00:07:20

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

B 192.168.1.0/24 is directly connected, 00:00:10, Ethernet0/1

L 192.168.1.2/32 is directly connected, Ethernet0/1

192.168.11.0/32 is subnetted, 1 subnets

B 192.168.11.11 [20/11] via 192.168.1.1 (B), 00:00:10, Ethernet0/1 >> Route from VRF B routing table at VRF A.

VRF B Routing Table

LEAK#show ip route vrf B

Routing Table: B

< Snip for resume >

10.0.0.0/30 is subnetted, 1 subnets

B 10.0.0.0 [200/0] via 10.0.0.1 (A), 00:00:15

172.16.0.0/32 is subnetted, 1 subnets

B 172.16.10.10 [200/0] via 10.0.0.1 (A), 00:00:15 >> Route from VRF A routing table at VRF B.

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

C 192.168.1.0/24 is directly connected, Ethernet0/1

L 192.168.1.2/32 is directly connected, Ethernet0/1

192.168.11.0/32 is subnetted, 1 subnets

O 192.168.11.11 [110/11] via 192.168.1.1, 01:05:12, Ethernet0/1

場景3 — 使用BGP的OSPF(VRF)和EIGRP（全域性）之間的VRF洩漏（可選）

案例3說明兩個IGP（VRF B和全域VRF）之間的路由洩漏。

網路圖表

本檔案會使用以下網路設定：

圖3.案例3的路由洩漏拓撲

路由器「LEAK」與VRF B中的鄰居有OSPF鄰居關係，而在全域性VRF中有一個EIGRP鄰居關係。裝置172.16.10.10需要能夠通過網路連線到裝置192.168.11.11。

路由器LEAK無法連線這兩個主機。這些路由表顯示每個VRF的當前路由，並指明哪些路由需要在VRF B和全域性VRF之間洩漏。

註：此配置作為在VRF上執行IGP洩漏的示例提供。在VRF和全域性之間使用重新分配

裝置不允許VRF。

洩漏路由表：

EIGRP路由表(EIGRP)

LEAK#show ip route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP

n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

H - NHRP, G - NHRP registered, g - NHRP registration summary

o - ODR, P - periodic downloaded static route, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

C 192.168.1.0/24 is directly connected, Ethernet0/1

L 192.168.1.1/32 is directly connected, Ethernet0/1

192.168.11.0/32 is subnetted, 1 subnets

D 192.168.11.11 [90/1024640] via 192.168.1.2, 01:08:38, Ethernet0/1 >> Route to be exchange from global routing table at VRF B routing table.

VRF B路由表(OSPF)

LEAK#show ip route vrf B

Routing Table: B

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP

n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

H - NHRP, G - NHRP registered, g - NHRP registration summary

o - ODR, P - periodic downloaded static route, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C 10.0.0.0/30 is directly connected, Ethernet0/0

L 10.0.0.2/32 is directly connected, Ethernet0/0

172.16.0.0/32 is subnetted, 1 subnets

O 172.16.10.10 [110/11] via 10.0.0.1, 01:43:45, Ethernet0/0 >> Route to be exchange from routing table VRF B at global routing table.

設定

執行以下步驟在兩個路由表之間建立洩漏：

Step 1.

Create route-maps for import and export to be injected in both routing tables.

LEAK(config)#Route-map OSPF_TO_EIGRP

LEAK(config-route-map)#match ip address prefix-list OSPF_TO_EIGRP

LEAK(config-route-map)#exit

!

Prefix-list created to match the host that is attached to the previous route-map configured.

!

ip prefix-list OSPF_TO_EIGRP permit 172.16.10.10/32

ip prefix-list OSPF_TO_EIGRP permit 10.0.0.0/30

or

LEAK(config)#Route-map OSPF_TO_EIGRP

LEAK(config-route-map)#match ip address 10

LEAK(config-route-map)#exit

!

ACL created to match the host that is attached to the previous route-map.

!

LEAK#show ip access-lists 10

10 permit 172.16.10.10

20 permit 10.0.0.0

LEAK(config)#Route-map EIGRP_TO_OSPF

LEAK(config-route-map)#match ip address prefix-list EIGRP_TO_OSPF

LEAK(config-route-map)#exit

!

Prefix-list created to match the host that is attached to the previous route-map configured.

!

ip prefix-list EIGRP_TO_OSPF permit 192.168.11.11/32

ip prefix-list EIGRP_TO_OSPF permit 192.168.1.0/24

or

LEAK(config)#Route-map EIGRP_TO_OSPF

LEAK(config-route-map)#match ip address 20

LEAK(config-route-map)#exit

!

ACL created to match the host that is attached to the previous route-map.

!

LEAK#show ip access-lists 20

10 permit 192.168.11.11

20 permit 192.168.1.0/24

Step 2.

Add the import/export maps in order to match the route-map names.

Current configuration

!

vrf definition B

rd 1:2

!

address-family ipv4

exit-address-family

!

!

LEAK(config-vrf)#vrf definition B

LEAK(config-vrf)#address-family ipv4

LEAK(config-vrf-af)#import ipv4 unicast map EIGRP_TO_OSPF

LEAK(config-vrf-af)#export ipv4 unicast map OSPF_TO_EIGRP

Step 3.

To perform the leak is necessary to create a BGP process, in order to redistribute

the IGPs protocols.

router bgp 1

bgp log-neighbor-changes

!

address-family ipv4 vrf B >> Include the address-family to inject VRF B routing table (OSPF)

!

exit-address-family

註：確保VRF配置了路由區分器以避免錯誤：

"%vrf B does not have "rd" configured, please configure "rd" before configuring import route-map"

Step 4.

Create a Dual Redistribution.

IGPs redistribution.

LEAK(config-router)#router bgp 1

LEAK(config-router)#redistribute eigrp 1

!

LEAK(config-router)#address-family ipv4 vrf B

LEAK(config-router-af)#redistribute ospf 1 match internal external 1 external 2

LEAK(config-router-af)#end

BGP Redistribution

LEAK(config)#router ospf 1 vrf B

LEAK(config-router)#redistribute bgp 1

!

LEAK(config-router)#router eigrp TAC

LEAK(config-router)#

LEAK(config-router)# address-family ipv4 unicast autonomous-system 1

LEAK(config-router-af)#

LEAK(config-router-af)# topology base

LEAK(config-router-af-topology)#redistribute bgp 1 metric 100 1 255 1 1500

驗證

檢查路由表

全域性路由表

LEAK#show ip route

< Snip for resume >

172.16.0.0/32 is subnetted, 1 subnets

B 172.16.10.10 [20/11] via 10.0.0.1, 00:14:48, Ethernet0/0 >> Route from VRF B routing table at global routing table ( EIGRP ).

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

C 192.168.1.0/24 is directly connected, Ethernet0/1

L 192.168.1.1/32 is directly connected, Ethernet0/1

192.168.11.0/32 is subnetted, 1 subnets

D 192.168.11.11 [90/1024640] via 192.168.1.2, 02:16:51, Ethernet0/1

VRF B路由表

LEAK#show ip route vrf B

Routing Table: B

< Snip for resume >

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C 10.0.0.0/30 is directly connected, Ethernet0/0

L 10.0.0.2/32 is directly connected, Ethernet0/0

172.16.0.0/32 is subnetted, 1 subnets

O 172.16.10.10 [110/11] via 10.0.0.1, 00:34:25, Ethernet0/0

192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks

B 192.168.1.0/24 is directly connected, 00:08:51, Ethernet0/1

L 192.168.1.1/32 is directly connected, Ethernet0/1

192.168.11.0/32 is subnetted, 1 subnets

B 192.168.11.11 [20/1024640] via 192.168.1.2, 00:08:51, Ethernet0/1 >> Route from global routing table ( EIGRP ) at VRF B routing table.

其他資源