16.1. Настройка VXLAN
Назначение
Virtual Extensible LAN (VXLAN) - это сетевая технология, которая инкапсулирует Ethernet-кадры на основе MAC-адресов в пакеты UDP для объединения и туннелирования нескольких сетей уровня L2 в инфраструктуре L3.
Описание
VXLAN может быть масштабирован до 16 миллионов логических сетей. Архитектура многоадресной передачи используется для широковещательных/многоадресных/неизвестных пакетов.
Настройка
Настройка VXLAN
Ниже приведена настройка коммутаторов в соответствии с представленной сетевой конфигурацией.
В данном примере коммутаторы “Switch1” и “Switch2” соединены маршрутом уровня 3. Трафик VLAN 20 инкапсулируется в VNI 20000, чтобы пройти через сети уровня 3.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Создание VLAN, включение оверлея для каждого VLAN
Switch(config)# vlan database
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# exit
Шаг 3: Настройка портов
На коммутаторе “Switch1”:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.0.1.1/32
Switch(config-if)# exit
На коммутаторе “Switch2”:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.0.1.2/32
Switch(config-if)# exit
Шаг 4: Создание статического маршрута
На коммутаторе “Switch1”:
Switch(config)# ip route 1.0.1.2/32 9.9.9.2
На коммутаторе “Switch2”:
Switch(config)# ip route 1.0.1.1/32 9.9.9.1
Шаг 5: Настройка оверлея
На коммутаторе “Switch1”:
Switch(config)# overlay
Switch(config-overlay)# source 1.0.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 1.0.1.2 type vxlan
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
На коммутаторе “Switch2”:
Switch(config)# overlay
Switch(config-overlay)# source 1.0.1.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.0.1.1 type vxlan
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
Шаг 6: Выход из режима “Global config”
Switch(config)# end
Шаг 7: Проверка
Вывод результата на коммутаторе “Switch1”:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 1.0.1.1
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Enable
Remote VTEP NUM : 1
Index: 1, Ip address: 1.0.1.2, Source ip: 1.0.1.1, Type: VxLAN, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------
Вывод результата на коммутаторе “Switch2”:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 1.0.1.2
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Eanble
Remote VTEP NUM : 1
Index: 1, Ip address: 1.0.1.1, Source ip: 1.0.1.2, Type: VxLAN, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------------
Настройка маршрутизации VXLAN
Ниже приведена настройка коммутаторов в соответствии с представленной сетевой конфигурацией.
В следующем примере VM-1 и VM-3 инкапсулируются в один VNI, чтобы создать распределенный маршрут через VXLAN. VM-2 и VM-4 инкапсулируются в другой VNI, чтобы создать распределенный маршрут через VXLAN.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Создание VLAN, включение оверлея для каждого VLAN
Switch(config)# vlan database
Switch(config-vlan)# vlan 20,30
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# vlan 30 overlay enable
Switch(config-vlan)# exit
Шаг 3: Создание экземпляра VRF
Switch(config)# ip vrf tenant
Switch(config-vrf)# exit
Шаг 4: Создание L3-интерфейса и настройка IP-адреса
На коммутаторе “Switch1”:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.111/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.111/24
Switch(config-if)# exit
На коммутаторе “Switch2”:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.222/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.222/24
Switch(config-if)# exit
Шаг 5: Настройка портов
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# no shutdown
Switch(config-if)# exit
На коммутаторе “Switch1”:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.0.1.1/32
Switch(config-if)# exit
На коммутаторе “Switch2”:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.0.1.2/32
Switch(config-if)# exit
Шаг 6: Настройка оверлея
На коммутаторе “Switch1”:
Switch(config)# overlay
Switch(config-overlay)# source 1.0.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 1.0.1.2 type vxlan
Switch(config-overlay)# remote-vtep 1 virtual-mac 22.22.22
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 30 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
На коммутаторе “Switch2”:
Switch(config)# overlay
Switch(config-overlay)# source 1.0.1.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.0.1.1 type vxlan
Switch(config-overlay)# remote-vtep 1 virtual-mac 11.11.11
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 30 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
Шаг 7: Создание статических маршрутов и маршрутов VXLAN
На коммутаторе “Switch1”:
Switch(config)# ip route 1.0.1.2/32 9.9.9.2
Switch(config)# ip route vrf tenant 2.2.2.2/32 remote-vtep 1 vni 20000 inner-macda 3.3.3
Switch(config)# ip route vrf tenant 3.3.3.2/32 remote-vtep 1 vni 30000 inner-macda 4.4.4
На коммутаторе “Switch2”:
Switch(config)# ip route 1.0.1.1/32 9.9.9.1
Switch(config)# ip route vrf tenant 2.2.2.1/32 remote-vtep 1 vni 20000 inner-macda 1.1.1
Switch(config)# ip route vrf tenant 3.3.3.1/32 remote-vtep 1 vni 30000 inner-macda 2.2.2
Шаг 8: Выход из режима “Global config”
Switch(config)# end
Шаг 9: Проверка
Вывод результата на коммутаторе “Switch1”:
Switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
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
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.2/32 is in overlay remote vxlan vtep:1.0.1.1->1.0.1.2, vni:20000
S 3.3.3.2/32 is in overlay remote vxlan vtep:1.0.1.1->1.0.1.2, vni:30000
Вывод результата на коммутаторе “Switch2”:
Switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
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
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.1/32 is in overlay remote vxlan vtep:1.0.1.2->1.0.1.1, vni:20000
S 3.3.3.1/32 is in overlay remote vxlan vtep:1.0.1.2->1.0.1.1, vni:30000
Настройка распределенной маршрутизации VXLAN с помощью EBGP EVPN
Ниже приведена настройка коммутаторов в соответствии с представленной сетевой конфигурацией.
В следующем примере VM-1 и VM-2 инкапсулированы в один и тот же VNI, чтобы сформировать распределенный маршрут через VXLAN с помощью EBGP EVPN для отправки информации о туннеле VXLAN и сетевом узле.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Создание VLAN, включение оверлея
Switch(config)# vlan database
Switch(config-vlan)# vlan 10, 20
Switch(config-vlan)# vlan 10 overlay enable
Switch(config-vlan)# exit
Доступно включение подавления широковещательной передачи ARP для VLAN:
Switch(config-vlan)# vlan 10 arp-broadcast-suppress enable
Шаг 3: Создание VLAN mapping VNI для VXLAN
Switch(config)# overlay
Switch(config-overlay)# vlan 10 vni 10000
Switch`(config-vlan)# exit
Можно отключить внутреннее обучение FDB для оверлея:
Switch(config-overlay)# vlan 10 mac-address-tunnel learning-disable
Шаг 4: Создание экземпляра EVPN
Switch(config)# evpn
Switch(config-evpn)# vni 10000
Switch(config-evi)# rd auto
Switch(config-evi)# route-target both 1:10000
Switch(config-evi)# exit
Шаг 5: Создание экземпляра VRF и включение EVPN
На коммутаторе “Switch1”:
Switch1(config)# ip vrf tenant
Switch1(config-vrf)# rd 1:20000
Switch1(config-vrf)# route-target both 1:10000 evpn
Switch1(config-vrf)# vxlan vni 20000
Switch1(config-vrf)# exit
На коммутаторе “Switch2”:
Switch2(config)# ip vrf tenant
Switch2(config-vrf)# rd 2:20000
Switch2(config-vrf)# route-target both 1:10000 evpn
Switch2(config-vrf)# vxlan vni 20000
Switch2(config-vrf)# exit
Шаг 6: Создание L3-интерфейса, установка IP-адреса и включение распределенного шлюза
На коммутаторе “Switch1”:
Switch1(config)# interface vlan 10
Switch1(config-if)# ip vrf forwarding tenant
Switch1(config-if)# overlay distributed-gateway enable
Switch1(config-if)# overlay host-collect enable
Switch1(config-if)# ip address 10.1.1.1/24
Switch1(config-if)# exit
Switch1(config)# interface vlan 20
Switch1(config-if)# ip address 20.1.1.1/24
Switch1(config-if)# exit
На коммутаторе “Switch2”:
Switch2(config)# interface vlan 10
Switch2(config-if)# ip vrf forwarding tenant
Switch2(config-if)# overlay distributed-gateway enable
Switch2(config-if)# overlay host-collect enable
Switch2(config-if)# ip address 10.1.1.2/24
Switch2(config-if)# exit
Switch2(config)# interface vlan 20
Switch2(config-if)# ip address 20.1.1.2/24
Switch2(config-if)# exit
Шаг 7: Настройка портов
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# vxlan uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Шаг 8: Создание NVE
На коммутаторе “Switch1”:
Switch1(config)# interface loopback 1
Switch1(config-if)# ip address 1.1.1.1/32
Switch1(config-if)# exit
Switch1(config)# interface nve 1
Switch1(config-if)# source loopback 1
Switch1(config-if)# member vni 10000
Switch1(config-if)# member vni 20000 associate-vrf
Switch1(config-if)# exit
На коммутаторе “Switch2”:
Switch2(config)# interface loopback 1
Switch2(config-if)# ip address 2.2.2.2/32
Switch2(config-if)# exit
Switch2(config)# interface nve 1
Switch2(config-if)# source loopback 1
Switch2(config-if)# member vni 10000
Switch2(config-if)# member vni 20000 associate-vrf
Switch2(config-if)# exit
Можно настроить атрибут туннеля EVPN:
Switch(config-if)# keep-vlan-tag enable
Switch(config-if)# split-horizon disable
Switch(config-if)# encapsulation-dscp-strategy custom-assign 63
Switch(config-if)# virtual-mac a.a.a
Шаг 9: Создание BGP EVPN
На коммутаторе “Switch1”:
Switch1(config)# router bgp 100
Switch1(config-router)# neighbor 20.1.1.2 remote-as 200
Switch1(config-router)# address-family l2vpn evpn
Switch1(config-router-af)# neighbor 20.1.1.2 activate
Switch1(config-router-af)# neighbor 20.1.1.2 send-community extended
Switch1(config-router-af)# neighbor 20.1.1.2 attribute-unchanged next-hop
Switch1(config-router-af)# exit
Switch1(config-router)# exit
На коммутаторе “Switch2”:
Switch2(config)# router bgp 200
Switch2(config-router)# neighbor 20.1.1.1 remote-as 100
Switch2(config-router)# address-family l2vpn evpn
Switch2(config-router-af)# neighbor 20.1.1.1 activate
Switch2(config-router-af)# neighbor 20.1.1.1 send-community extended
Switch2(config-router-af)# neighbor 20.1.1.1 attribute-unchanged next-hop
Switch2(config-router-af)# exit
Switch2(config-router)# exit
Шаг 10: Создание статических маршрутов
На коммутаторе “Switch1”:
Switch1(config)# ip route 2.2.2.2/32 20.1.1.2
На коммутаторе “Switch2”:
Switch(config2)# ip route 1.1.1.1/32 20.1.1.1
Шаг 11: Выход из режима “Global config”
Switch(config)# end
Шаг 12: Проверка
Вывод результата на коммутаторе “Switch1”:
Switch1# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:10000 (L2VNI 10000)
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[0.0.0.0]/136
1.1.1.1 32768 i
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[10.1.1.3]/136
1.1.1.1 32768 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[0.0.0.0]/136
2.2.2.2 0 200 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[10.1.1.4]/136
2.2.2.2 0 200 i
*> [3]:[0]:[32]:[1.1.1.1]/80
1.1.1.1 32768 i
*> [3]:[0]:[32]:[10.20.30.40]/80
2.2.2.2 0 200 i
Route Distinguisher: 1:10000
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[0.0.0.0]/136
2.2.2.2 0 200 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[10.1.1.4]/136
2.2.2.2 0 200 i
*> [3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 0 200 i
Route Distinguisher: 1:20000 (L3VNI 20000)
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[10.1.1.4]/136
2.2.2.2
Switch1# show overlay tunnel
-------------------------------------------------------------------------------
Vlan Vni Type Remote-vtep IP-Address Src-Address Head-end-flooding Protocol
10 10000 VxLAN 0 2.2.2.2 1.1.1.1 Enable Evpn
Вывод результата на коммутаторе "Switch2":
Head-end-floodingSwitch2# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:10000 (L2VNI 10000)
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[0.0.0.0]/136
1.1.1.1 0 100 i
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[10.1.1.3]/136
1.1.1.1 0 100 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[0.0.0.0]/136
2.2.2.2 32768 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[10.1.1.4]/136
2.2.2.2 32768 i
*> [3]:[0]:[32]:[1.1.1.1]/80
1.1.1.1 0 100 i
*> [3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 32768 i
Route Distinguisher: 1:10000
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[0.0.0.0]/136
1.1.1.1 0 100 i
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[10.1.1.3]/136
1.1.1.1 0 100 i
*> [3]:[0]:[32]:[1.1.1.1]/80
1.1.1.1 0 100 i
Route Distinguisher: 2:20000 (L3VNI 20000)
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[10.1.1.3]/136
1.1.1.1 0 100 i
Switch2# show overlay tunnel
-------------------------------------------------------------------------------
Vlan Vni Type Remote-vtep IP-Address Src-Address Head-end-flooding Protocol
10 10000 VxLAN 0 1.1.1.1 2.2.2.2 Enable Evpn
Настройка распределенной маршрутизации VXLAN с помощью IBGP EVPN
Ниже показана настройка коммутаторов в соответствии с представленной сетевой конфигурацией.
В данном примере VM-1 и VM-2 инкапсулированы в один и тот же VNI, чтобы составить распределенный маршрут через VXLAN с помощью IBGP EVPN для отправки информации о туннеле VXLAN и сетевом узле. Обмен маршрутами EVPN осуществляется с помощью BGP-рефлектора (BGP route reflector).
В случае отсутствия конкретных указаний, настройка выполняется на всех коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Создание VLAN, создание оверлея
На коммутаторе “Switch1”:
Switch1(config)# vlan database
Switch1(config-vlan)# vlan 10, 20
Switch1(config-vlan)# vlan 10 overlay enable
Switch1(config-vlan)# exit
На коммутаторе “Switch2”:
Switch2(config)# vlan database
Switch2(config-vlan)# vlan 20, 30
Switch2(config-vlan)# exit
На коммутаторе “Switch3”:
Switch3(config)# vlan database
Switch3(config-vlan)# vlan 10, 30
Switch3(config-vlan)# vlan 10 overlay enable
Switch3(config-vlan)# exit
Можно включить подавление широковещательной передачи ARP для VLAN:
Switch(config-vlan)# vlan 10 arp-broadcast-suppress enable
Шаг 3: Создание VLAN mapping VNI для VXLAN
На коммутаторе “Switch1”:
Switch1(config)# overlay
Switch1(config-overlay)# vlan 10 vni 10000
Switch1(config-vlan)# exit
Доступно отключение внутреннего обучения FDB для оверлея:
Switch1(config-overlay)# vlan 10 mac-address-tunnel learning-disable
На коммутаторе “Switch3”:
Switch3(config)# overlay
Switch3(config-overlay)# vlan 10 vni 10000
Switch3(config-vlan)# exit
Доступно отключение внутреннего обучения FDB для оверлея:
Switch3(config-overlay)# vlan 10 mac-address-tunnel learning-disable
Шаг 4: Создание экземпляра EVPN
На коммутаторе “Switch1”:
Switch1(config)# evpn
Switch1(config-evpn)# vni 10000
Switch1(config-evi)# rd 2:2
Switch1(config-evi)# route-target both 20:20
Switch1(config-evi)# exit
На коммутаторе “Switch2”:
Switch2(config)# evpn
На коммутаторе “Switch3”:
Switch3(config)# evpn
Switch3(config-evpn)# vni 10000
Switch3(config-evi)# rd 4:4
Switch3(config-evi)# route-target both 20:20
Switch3(config-evi)# exit
Шаг 5: Создание экземпляра VRF и включение EVPN
На коммутаторе “Switch1”:
Switch1(config)# ip vrf tenant
Switch1(config-vrf)# rd 22:22
Switch1(config-vrf)# route-target both 20:20 evpn
Switch1(config-vrf)# vxlan vni 20000
Switch1(config-vrf)# exit
На коммутаторе “Switch3”:
Switch3(config)# ip vrf tenant
Switch3(config-vrf)# rd 44:44
Switch3(config-vrf)# route-target both 20:20 evpn
Switch3(config-vrf)# vxlan vni 20000
Switch3(config-vrf)# exit
Шаг 6: Создание L3-интерфейса
Создание L3-интерфейса, установка IP-адреса и включение распределенного шлюза:
На коммутаторе “Switch1”:
Switch1(config)# interface vlan 10
Switch1(config-if)# ip vrf forwarding tenant
Switch1(config-if)# overlay distributed-gateway enable
Switch1(config-if)# overlay host-collect enable
Switch1(config-if)# ip address 10.1.1.2/24
Switch1(config-if)# exit
Switch1(config)# interface vlan 20
Switch1(config-if)# ip address 20.1.1.1/24
Switch1(config-if)# exit
На коммутаторе “Switch2”:
Switch2(config)# interface vlan 20
Switch2(config-if)# ip address 20.1.1.2/24
Switch2(config-if)# exit
Switch2(config)# interface vlan 30
Switch2(config-if)# ip address 30.1.1.1/24
Switch2(config-if)# exit
На коммутаторе “Switch3”:
Switch3(config)# interface vlan 10
Switch3(config-if)# ip vrf forwarding tenant
Switch3(config-if)# overlay distributed-gateway enable
Switch3(config-if)# overlay host-collect enable
Switch3(config-if)# ip address 10.1.1.3/24
Switch3(config-if)# exit
Switch3(config)# interface vlan 30
Switch3(config-if)# ip address 30.1.1.2/24
Switch3(config-if)# exit
Шаг 7: Настройка портов
На коммутаторе “Switch1”:
Switch1(config)# interface eth-0-10
Switch1(config-if)# switchport access vlan 10
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
Switch1(config)# interface eth-0-20
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan add 20
Switch1(config-if)# vxlan uplink enable
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
На коммутаторе “Switch2”:
Switch2(config)# interface eth-0-20
Switch2(config-if)# switchport mode trunk
Switch2(config-if)# switchport trunk allowed vlan add 20
Switch2(config-if)# vxlan uplink enable
Switch2(config-if)# no shutdown
Switch2(config-if)# exit
Switch2(config)# interface eth-0-30
Switch2(config-if)# switchport mode trunk
Switch2(config-if)# switchport trunk allowed vlan add 30
Switch2(config-if)# vxlan uplink enable
Switch2(config-if)# no shutdown
Switch2(config-if)# exit
На коммутаторе “Switch3”:
Switch3(config)# interface eth-0-10
Switch3(config-if)# switchport access vlan 10
Switch3(config-if)# no shutdown
Switch3(config-if)# exit
Switch3(config)# interface eth-0-30
Switch3(config-if)# switchport mode trunk
Switch3(config-if)# switchport trunk allowed vlan add 30
Switch3(config-if)# vxlan uplink enable
Switch3(config-if)# no shutdown
Switch3(config-if)# exit
Шаг 8: Создание NVE
На коммутаторе “Switch1”:
Switch1(config)# interface loopback 2
Switch1(config-if)# ip address 2.2.2.2/32
Switch1(config-if)# exit
Switch1(config)# interface nve 1
Switch1(config-if)# source 2.2.2.2
Switch1(config-if)# member vni 10000
Switch1(config-if)# member vni 20000 associate-vrf
Switch1(config-if)# exit
На коммутаторе “Switch2”:
Switch2(config)# interface loopback 3
Switch2(config-if)# ip address 3.3.3.3/32
Switch2(config-if)# exit
На коммутаторе “Switch3”:
Switch3(config)# interface loopback 4
Switch3(config-if)# ip address 4.4.4.4/32
Switch3(config-if)# exit
Switch3(config)# interface nve 1
Switch3(config-if)# source 4.4.4.4
Switch3(config-if)# member vni 10000
Switch3(config-if)# member vni 20000 associate-vrf
Switch3(config-if)# exit
Доступна настройка атрибутов туннеля EVPN:
Switch(config-if)# keep-vlan-tag enable
Switch(config-if)# split-horizon disable
Switch(config-if)# encapsulation-dscp-strategy custom-assign 63
Switch(config-if)# virtual-mac a.a.a
Шаг 9: Создание BGP EVPN
На коммутаторе “Switch1”:
Switch1(config)# router bgp 100
Switch1(config-router)# neighbor 3.3.3.3 remote-as 100
Switch1(config-router)# neighbor 3.3.3.3 update-source loopback2
Switch1(config-router)# neighbor 20.1.1.2 remote-as 100
Switch1(config-router)# address-family ipv4
Switch1(config-router-af)# network 2.2.2.2 mask 255.255.255.255
Switch1(config-router-af)# neighbor 20.1.1.2 weight 32768
Switch1(config-router-af)# exit
Switch1(config-router)# address-family l2vpn evpn
Switch1(config-router-af)# neighbor 3.3.3.3 activate
Switch1(config-router-af)# neighbor 3.3.3.3 send-community extended
Switch1(config-router-af)# exit
Switch1(config-router)# exit
На коммутаторе “Switch2”:
Switch2(config)# router bgp 100
Switch2(config-router)# neighbor 2.2.2.2 remote-as 100
Switch2(config-router)# neighbor 2.2.2.2 update-source loopback3
Switch2(config-router)# neighbor 4.4.4.4 remote-as 100
Switch2(config-router)# neighbor 4.4.4.4 update-source loopback3
Switch2(config-router)# neighbor 20.1.1.1 remote-as 100
Switch2(config-router)# neighbor 30.1.1.2 remote-as 100
Switch2(config-router)# address-family ipv4
Switch2(config-router-af)# network 3.3.3.3 mask 255.255.255.255
Switch2(config-router-af)# network 20.1.1.0 mask 255.255.255.0
Switch2(config-router-af)# network 30.1.1.0 mask 255.255.255.0
Switch2(config-router-af)# neighbor 20.1.1.1 weight 32768
Switch2(config-router-af)# neighbor 20.1.1.1 route-reflector-client
Switch2(config-router-af)# neighbor 20.1.1.1 next-hop-self
Switch2(config-router-af)# neighbor 30.1.1.2 weight 32768
Switch2(config-router-af)# neighbor 30.1.1.2 route-reflector-client
Switch2(config-router-af)# neighbor 30.1.1.2 next-hop-self
Switch2(config-router-af)# exit
Switch2(config-router)# address-family l2vpn evpn
Switch2(config-router-af)# neighbor 2.2.2.2 activate
Switch2(config-router-af)# neighbor 2.2.2.2 route-reflector-client
Switch2(config-router-af)# neighbor 2.2.2.2 send-community extended
Switch2(config-router-af)# neighbor 4.4.4.4 activate
Switch2(config-router-af)# neighbor 4.4.4.4 route-reflector-client
Switch2(config-router-af)# neighbor 4.4.4.4 send-community extended
Switch2(config-router-af)# exit
Switch2(config-router)# exit
На коммутаторе “Switch3”:
Switch3(config)# router bgp 100
Switch3(config-router)# neighbor 3.3.3.3 remote-as 100
Switch3(config-router)# neighbor 3.3.3.3 update-source loopback4
Switch3(config-router)# neighbor 30.1.1.1 remote-as 100
Switch3(config-router)# address-family ipv4
Switch3(config-router-af)# network 4.4.4.4 mask 255.255.255.255
Switch3(config-router-af)# neighbor 30.1.1.1 weight 32768
Switch3(config-router-af)# exit
Switch3(config-router)# address-family l2vpn evpn
Switch3(config-router-af)# neighbor 3.3.3.3 activate
Switch3(config-router-af)# neighbor 3.3.3.3 send-community extended
Switch3(config-router-af)# exit
Switch3(config-router)# exit
Шаг 10: Выход из режима “Global config”
Switch(config)# end
Шаг 11: Проверка
Вывод результатов на коммутаторе “Switch1”:
Switch1# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 2:2 (L2VNI 10000)
*> [2]:[0]:[48]:[988b.123a.4000]:[32]:[0.0.0.0]/136
2.2.2.2 32768 i
*> [2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 32768 i
*> [3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 32768 i
*>i[3]:[0]:[32]:[4.4.4.4]/80
4.4.4.4 100 0 i
Route Distinguisher: 4:4
*>i[3]:[0]:[32]:[4.4.4.4]/80
4.4.4.4 100 0 i
Switch1# show overlay tunnel
-------------------------------------------------------------------------------
Vlan Vni Type Remote-vtep IP-Address Src-Address Head-end-flooding Protocol
10 10000 VxLAN 0 4.4.4.4 2.2.2.2 Enable Evpn
Вывод результатов на коммутаторе “Switch2”:
Switch2# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 2:2
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[0.0.0.0]/136
2.2.2.2 100 0 i
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 100 0 i
*>i[3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 100 0 i
Route Distinguisher: 4:4
*>i[3]:[0]:[32]:[4.4.4.4]/80
4.4.4.4 100 0 i
Вывод результатов на коммутаторе “Switch3”:
Switch3# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 2:2
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[0.0.0.0]/136
2.2.2.2 100 0 i
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 100 0 i
*>i[3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 100 0 i
Route Distinguisher: 4:4 (L2VNI 10000)
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[0.0.0.0]/136
2.2.2.2 100 0 i
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 100 0 i
*>i[3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 100 0 i
*> [3]:[0]:[32]:[4.4.4.4]/80
4.4.4.4 32768 i
Route Distinguisher: 44:44 (L3VNI 20000)
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 100 0 i
Switch3# show overlay tunnel
-------------------------------------------------------------------------------
Vlan Vni Type Remote-vtep IP-Address Src-Address Head-end-flooding Protocol
10 10000 VxLAN 0 2.2.2.2 4.4.4.4 Enable Evpn
Switch3# show mac address-table
Mac Address Table
-------------------------------------------
(*) - Security Entry (M) - MLAG Entry
(MO) - MLAG Output Entry (MI) - MLAG Input Entry
Vlan Mac Address Type Ports
---- ----------- -------- -----
30 fcc0.9318.0a00 dynamic eth-0-9
10 988b.123a.4000 dynamic VxLAN: 4.4.4.4->2.2.2.2(EI)
Switch3# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
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
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
C 10.1.1.0/24 is directly connected, vlan10
C 10.1.1.3/32 is in local loopback, vlan10
B 10.1.1.1/32 is in overlay remote vxlan vtep:4.4.4.4->2.2.2.2, vni:20000