Dawno temu napisałem o tworzeniu VRF’ów na platformie Cisco. We wcześniejszym artykule umieściłem opis co to jest VRF oraz do czego może służyć. Dziś wracam do tematu ale na urządzeniach firmy Huawei, do tego wykorzystam oprogramowanie eNSP które udostępnia ten Vendor.
Na wstępie trzeba powiedzieć że na platformie Huwaei VRF nazywamy vpn-instance. Ale dla przejrzystości wpisu będę posługiwał się nadal nazwą VRF
Mała Uwaga
Jedną z różnic jaką znalazłem pomiędzy Cisco a Huawei to, że nie możemy robić exportu i importu tzw. routing leaking z i do globalnej tablicy routingu. Z jednej strony jest to zabezpieczenie dla głównej tablicy routingu, która służy do zestawienia sieci MPLS – przy projektowaniu sieci trzeba o tym pamiętać.
Rysunek poglądowy:
Praca w eNSP
Uruchamiamy nasze eNSP w którym tworzymy nową topologię gdzie w niej umieszczamy na chwilę obecną jeden router AR2240 które uruchamiamy i przechodzimy do konfiguracji.
gdzie konfigurujemy:
- nowy hostname
- pierwszy vrf Internet
- nadajemy route-distingusisher
- nadajemy import i export dla tego VRF’u
Krok 2 powtarzamy dla 2 pozostałych vrfów
[Huawei]sysname vrf-test [vrf-test] [vrf-test] [vrf-test] [vrf-test]ip vpn-instance Internet [vrf-test-vpn-instance-Internet]rou [vrf-test-vpn-instance-Internet]route-distinguisher 65000:100 [vrf-test-vpn-instance-Internet-af-ipv4]ip [vrf-test-vpn-instance-Internet-af-ipv4]vp [vrf-test-vpn-instance-Internet-af-ipv4]vpn [vrf-test-vpn-instance-Internet-af-ipv4]vpn-target 65000:100 IVT Assignment result: Info: VPN-Target assignment is successful. EVT Assignment result: Info: VPN-Target assignment is successful. [vrf-test-vpn-instance-Internet-af-ipv4]
Konfiguracja wygląda tak dla trzech vrfów
# ip vpn-instance Internet ipv4-family route-distinguisher 65000:100 vpn-target 65000:100 export-extcommunity vpn-target 65000:100 import-extcommunity # ip vpn-instance dc1 ipv4-family route-distinguisher 65000:101 vpn-target 65000:101 export-extcommunity vpn-target 65000:101 import-extcommunity # ip vpn-instance mgmt ipv4-family route-distinguisher 65000:102 vpn-target 65000:102 export-extcommunity vpn-target 65000:102 import-extcommunity #
Wyświetlamy jakie są VRF’y – używamy do tego polecenia display ip vpn-instance
<vrf-test>display ip vpn-instance Total VPN-Instances configured : 3 Total IPv4 VPN-Instances configured : 3 Total IPv6 VPN-Instances configured : 0 VPN-Instance Name RD Address-family Internet 65000:100 IPv4 dc1 65000:101 IPv4 mgmt 65000:102 IPv4
Konfigurujemy interfejsy w każdy z VRF’ów
przykład tworzymy interfejs LoopBack 100 który przypisujemy do VRF Internet i nadajemy jemu adres
[vrf-test]int LoopBack 100 [vrf-test-LoopBack100]ip bg [vrf-test-LoopBack100]ip b [vrf-test-LoopBack100]ip binding vp [vrf-test-LoopBack100]ip binding vpn-instance Internet Info: All IPv4 related configurations on this interface are removed! Info: All IPv6 related configurations on this interface are removed! [vrf-test-LoopBack100]ip ad [vrf-test-LoopBack100]ip address 192.168.10.1 32
Konfiguracja LoopBacków dla wszystkich VRF’ów
# interface LoopBack100 ip binding vpn-instance Internet ip address 192.168.10.1 255.255.255.255 # interface LoopBack101 ip binding vpn-instance dc1 ip address 10.10.10.1 255.255.255.255 # interface LoopBack102 ip binding vpn-instance mgmt ip address 10.255.255.1 255.255.255.255 #
sprawdzamy przypisanie interfejsów do VRF’ów
<vrf-test>display ip vpn-instance interface Total VPN-Instances configured : 3 VPN-Instance Name and ID : Internet, 1 Interface Number : 1 Interface list : LoopBack100 VPN-Instance Name and ID : dc1, 2 Interface Number : 1 Interface list : LoopBack101 VPN-Instance Name and ID : mgmt, 3 Interface Number : 1 Interface list : LoopBack102
Konfigurujemy MP-BGP
Konfigurujemy multiprotocol bgp dla każdego VRF’u gdzie skonfigurujemy wszystkie sieci direct będą dystrybuowane przez MP-BGP. Ta konfiguracja posłuży nam to połączenia pomiędzy VRF’ami – wykonamy leaking.
<vrf-test>system-view Enter system view, return user view with Ctrl+Z. [vrf-test]bgp 65000 [vrf-test-bgp]ipv4-family vpn-instance Internet [vrf-test-bgp-Internet]import-route direct
konfiguracja całości:
# bgp 65000 # ipv4-family unicast undo synchronization # ipv4-family vpn-instance Internet import-route direct # ipv4-family vpn-instance dc1 import-route direct # ipv4-family vpn-instance mgmt import-route direct #
Konfigurujemy odpowiednio leaking pomiędzy VRF’ami
| VRF | Internet | DC1 | MGMT |
| Internet | I/E | I | I |
| DC1 | brak | I/E | I |
| MGMT | Brak | I | I/E |
[vrf-test]ip vpn-instance mgmt [vrf-test-vpn-instance-mgmt]vpn-target 65000:101 import-extcommunity IVT Assignment result: Info: VPN-Target assignment is successful. [vrf-test-vpn-instance-mgmt]
cała konfiguracja
# ip vpn-instance Internet ipv4-family route-distinguisher 65000:100 vpn-target 65000:100 export-extcommunity vpn-target 65000:100 65000:101 65000:102 import-extcommunity # ip vpn-instance dc1 ipv4-family route-distinguisher 65000:101 vpn-target 65000:101 export-extcommunity vpn-target 65000:101 65000:102 import-extcommunity # ip vpn-instance mgmt ipv4-family route-distinguisher 65000:102 vpn-target 65000:102 export-extcommunity vpn-target 65000:102 65000:101 import-extcommunity #
weryfikacja MP-BGP
<vrf-test>display bgp vpnv4 all brief
VPNv4:
RD Num Peer Num Route Num
3 0 3
VPN-Instance(IPv4-family):
VPN-Instance Name Peer Num Route Num
Internet 0 3
dc1 0 2
mgmt 0 2
weryfikacja tablic routingu zgodnie tabelką wyżej
<vrf-test>display ip routing-table vpn-instance Internet
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Internet
Destinations : 4 Routes : 4
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.10.10.1/32 BGP 255 0 D 127.0.0.1 InLoopBack0
10.255.255.1/32 BGP 255 0 D 127.0.0.1 InLoopBack0
192.168.10.1/32 Direct 0 0 D 127.0.0.1 LoopBack100
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
<vrf-test>display ip routing-table vpn-instance DC1
Info: The specified VPN instance does not exist.
<vrf-test>display ip routing-table vpn-instance dc1
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: dc1
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.10.10.1/32 Direct 0 0 D 127.0.0.1 LoopBack101
10.255.255.1/32 BGP 255 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
<vrf-test>display ip routing-table vpn-instance mgmt
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: mgmt
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.10.10.1/32 BGP 255 0 D 127.0.0.1 InLoopBack0
10.255.255.1/32 Direct 0 0 D 127.0.0.1 LoopBack102
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
<vrf-test>

