VRF – 實戰 – Global

概念

VRF彼此間不相通,就像VLAN。有的時候,是需要把它們相連互通,跨越那道虛擬的圍牆。

Leaking就像從牆壁漏水,漏水不是全面相通,只有部分可以通。因此Leaking可以選擇性地把部分Route轉到別的地方。

這裡採取一種簡單的設定,使用 ip route,去指定static route,因為VRF是用介面瓜分,因此可以把符合特定網段的Route直接丟到特定VRF的介面,就可以達到跨VRF的溝通。

這篇是純L3的Router版本,L2又有一種VLAN版本。

這屬於Policy Based Routing(PBR)的運算。

目標

學會使用Global去連接兩個不同的VRF,並成功使R1跟R4通、R2跟R4通、R1跟R2不通。

設定:參考

!R1
conf t
int g0/0
ip addr 10.1.1.1 255.255.255.0
no sh
exit
ip route 0.0.0.0 0.0.0.0 g0/0
conf t
int g0/0
ip addr 10.1.2.2 255.255.255.0
no sh
exit
ip route 0.0.0.0 0.0.0.0 g0/0
conf t
ip vrf R1
exit
ip vrf R2
exit
ip vrf R4
exit
int g0/0
ip vrf forwarding R1
ip addr 10.1.1.3 255.255.255.0
no sh
exit
int g1/0
ip vrf forwarding R2
ip addr 10.1.2.3 255.255.255.0
no sh
exit
int g2/0
ip vrf forwarding R4
ip addr 10.1.4.3 255.255.255.0
no sh
exit
!R4
conf t
int g0/0
ip addr 10.1.4.4 255.255.255.0
no sh
exit
ip route 0.0.0.0 0.0.0.0 g0/0

這裡R1、R2、R4使用Default Route指向R3,R3要身上要起三者的VRF,並且作為轉送的角色。

ip route vrf <vrf-name> <network> <subnet-mask> <next-hop ip> global
!R3
ip route vrf R1 10.1.4.0 255.255.255.0 10.1.4.4 global
ip route vrf R2 10.1.4.0 255.255.255.0 10.1.4.4 global
ip route vrf R4 10.1.1.0 255.255.255.0 10.1.1.1 global
ip route vrf R4 10.1.2.0 255.255.255.0 10.1.2.2 global

預設的Routing Table為global,這指令是把讓VRF的static route的next-hop ip往global裡面找。

此時,Global Routing Table應該是沒有任何Route,因此還需要在此下Static Route去決定下一跳。

! R3
ip route 10.1.1.0 255.255.255.0 g0/0
ip route 10.1.2.0 255.255.255.0 g1/0
ip route 10.1.4.0 255.255.255.0 g2/0

來測試ping能不能通吧,以下是R1跟R4。

運作流程:

  • R1 ping R4 發出封包,傳給R3
  • R3 的G0/0接收到封包,查VRF: R1的Routing Table,轉到 Global Routing Table。
  • R3 查Global Routing Table,從G2/0出去。
  • R4 收到封包,回傳。
  • R3 的G2/0收到封包, 查VRF: R4的Routing Table,轉到 Global Routing Table。
  • R3 查Global Routing Table,從G0/0出去。
  • R1 收到封包,顯示有ping到。

再來換成R1跟R2,是不會通的,如果會通就要檢查一下有沒有設定錯誤。

結論心得

因為考試有考,所以特別來練習。概念是很簡單的,學一下就能理解。雖然主體是VRF,但實際是PBR的功能,當然也是可以使用Route-map去過濾與設定。

雖然能夠跨越VRF,能互通就代表要注意IP衝突。路徑上可以彈性自訂,相對要注意設備上的Route是否有設定齊全。