先上拓撲
說明:
- 虛擬路由器 cumulus 上運行 3 個 VRF 實例 VRF201 VRF202 VRF203
- 虛擬路由器 cumulus 與 T0 路由器建立 BGP 連接 且處於 AS65003,建立BGP連接的IP為 192.168.255.1
- T0 路由器上運行 3 個 VRF實例 VRF201綁定VNI 80001 VRF202綁定VNI 80002 VRF203綁定VNI8003
- 每個T0 VRF實例下綁定一個T1 路由器 T1路由器下綁定各自的Segment
實現結果:
cumulus 的 VRF 實例 VRF201 的路由表中有 172.18.201.0/24 實例 VRF202 的路由表中有 172.18.202.0/24 實例 VRF203 的路由表中有 172.18.203.0/24。 至於cumulus 傳路由到T0 的 VRF實例不是本章的關注點。
安裝部署:
1. 創建 EVPN VNI 池
2. 創建T0 上聯接口地址
配置 BGP
添加 BGP鄰居
注意: 路由篩選器那里 添加 L2VPN_EVPN
路由重分發設置
3. EVPN 設置 VNI 池 (VRF綁定的VNI號必須屬於該池)
4. EVPN 設置 EVPN 隧道端點
至此 T0 配置完成
-----------------
下面來創建 VRF201
1. VRF綁定T0 后默認會繼承T0 的一些配置 EDGE群集以及故障切換模式
2. 點開 VRF 配置選項 輸入路由標識(路由標識必須唯一) 以及 綁定的 VNI 號
3. 在路由目標中輸入 導入導出的路由目標。
三步就完成了 VRF201的配置 真簡單!
登錄 cumulus 查看 VRF201路由表
cumulus@cumulus:mgmt:~$ net show route vrf vrf201 ipv4 Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR, f - OpenFabric, > - selected route, * - FIB route, q - queued route, r - rejected route VRF vrf201: B>* 0.0.0.0/0 [20/0] via 192.168.255.2, vlan2201 onlink, 01:13:54 B>* 4.4.4.4/32 [20/1] via 192.168.255.2, vlan2201 onlink, 01:13:54 B>* 172.18.201.0/24 [20/0] via 192.168.255.2, vlan2201 onlink, 01:54:04 B>* 192.168.201.0/24 [20/0] via 192.168.255.2, vlan2201 onlink, 01:54:04
不出意外的話 你將會看到 通過BGP獲取到了一條 172.18.201.0/24的路由
查看T0 路由發布 確實是通過 BGP 5類發布出去的
edge02(tier0_sr)> get bgp evpn BGP table version is 4, local router ID is 192.168.255.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete EVPN type-2 prefix: [2]:[EthTag]:[MAClen]:[MAC]:[IPlen]:[IP] EVPN type-3 prefix: [3]:[EthTag]:[IPlen]:[OrigIP] EVPN type-4 prefix: [4]:[ESI]:[IPlen]:[OrigIP] EVPN type-5 prefix: [5]:[EthTag]:[IPlen]:[IP] Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 65001:201 *> [5]:[0]:[0]:[0.0.0.0] 192.168.255.2 0 0 65004 i *> [5]:[0]:[24]:[172.18.201.0] 192.168.255.2 0 32768 ? *> [5]:[0]:[24]:[192.168.201.0] 192.168.255.2 0 32768 ? *> [5]:[0]:[32]:[4.4.4.4] 192.168.255.2 1 0 65004 i Route Distinguisher: 65001:202 *> [5]:[0]:[24]:[172.18.202.0] 192.168.255.2 0 32768 ? *> [5]:[0]:[24]:[192.168.202.0] 192.168.255.2 0 32768 ? Route Distinguisher: 65001:203 *> [5]:[0]:[24]:[172.18.203.0] 192.168.255.2 0 32768 ? Route Distinguisher: 0.0.0.0:4 [5]:[0]:[0]:[0.0.0.0] 172.16.255.1 0 65003 i Route Distinguisher: 0.0.0.0:5 [5]:[0]:[0]:[0.0.0.0] 172.16.255.1 0 65003 i Route Distinguisher: 0.0.0.0:6 [5]:[0]:[0]:[0.0.0.0] 172.16.255.1 0 65003 i Route Distinguisher: 172.16.255.1:7 *> [3]:[0]:[32]:[172.16.255.1] 172.16.255.1 0 65003 i Displayed 11 prefixes (11 paths)
本文中沒有提到 cumulus 中VRF的配置,具體可以參考文檔:
https://docs.cumulusnetworks.com/cumulus-linux-41/Layer-3/Virtual-Routing-and-Forwarding-VRF/