Начнем с настроек на Spine , включаем необходимый функционал и настраиваем маршрутизацию, настройки на обоих Spine идентичны, ниже приведет SPINE- 1:
nv overlay evpn
feature ospf
feature bgp
feature pim
feature vn-segment-vlan-based
feature nv overlayinterface Ethernet1/1
no switchport
ip address 10.0.1.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/2
no switchport
ip address 10.0.2.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/3
no switchport
ip address 10.0.3.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/4
no switchport
ip address 10.0.4.2/24
ip pim sparse-mode
no shutdowninterface loopback0
ip address 65.0.0.10/32router ospf 1
network 10.0.0.0/16 area 0.0.0.0
настраиваем мультикаст с использованием phantom rp :
SPINE-1
interface loopback10
ip address 10.10.10.9/30
ip ospf network point-to-point
ip router ospf 1 area 0.0.0.0
ip pim sparse-modeip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidir
SPINE-2
interface loopback10
ip address 10.10.10.9/29
ip ospf network point-to-point
ip router ospf 1 area 0.0.0.0
ip pim sparse-modeip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidir
Последний штрих надо настроить наши Spine в качестве роут рефлекторов для адрес фэмели l2vpn evpn, настройки на обоих Spine одинаковы:
router bgp 65000
neighbor 62.0.0.0/24
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client
мы настроили динамическое добавление bgp соседей, кстати эта основная причина по которой я заменил образ для Spine с CSR 1000v на NX-OSv 9k , на СSR не работает bgp listen range для адрес фэмели l2vpn evpn , и я подозреваю это стандартное поведение для IOS-XE , хотя на живом оборудовании не проверял.
Настройки на всех Leaf идентичны, для примера настроим LEAF -2 , включаем необходимый функционал :
nv overlay evpn
feature ospf
feature bgp
feature pim
feature vn-segment-vlan-based
feature nv overlay
настраиваем базовую коммутацию и маршрутизацию :
ip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bid interface Ethernet1/1
description Linux-2
switchport access vlan 100interface Ethernet1/2
no switchport
ip address 10.0.2.1/24
ip pim sparse-mode
no shutdowninterface Ethernet1/3
no switchport
ip address 10.0.12.1/24
ip pim sparse-mode
no shutdowninterface loopback0
ip address 62.0.0.2/32
ip pim sparse-mode
router ospf 1
network 10.0.0.0/16 area 0.0.0.0
network 62.0.0.2/32 area 0.0.0.0
настраиваем VXLAN :
vlan 100
vn-segment 160100 interface nve1
no shutdown
host-reachability protocol bgp # эта опция необходима для evpn
source-interface loopback0
member vni 160100 mcast-group 224.2.2.10
настроим адрес фэмили l2vpn evpn :
evpn
vni 160100 l2
rd auto
route-target import auto
route-target export auto
Ну и настроим BGP соседство с каждым Spine :
router bgp 65000
neighbor 65.0.0.10
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
neighbor 65.0.0.11
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
Все настройки завершены теперь когда наш Leaf-1 изучит для 100 влан новый мак адрес, то он сформирует bgp update пакет, снабдит его route target’ом и rd, и передаст его своим bgp соседям , их два и это роут рефлекторы , получив от клиента update они разошлют его остальным клиентам ( и не клиентам ). клиенты получат update посмотрят на rt и примут решение , импортировать полученные маки в существующие vni или нет .
К LEAF-2 подключен сервер Linux-2 :
Ниже приведен дамп трафика с LEAF-2 с интерфейса Eth-1/2. В поле extended community ( мы его включали в настройках bgp ) передается export route-target , он сгенерировался автоматически, на основе AS и VNI
Так же в пакете сообщается мак адрес сервера Linux-2, и RD который так же сформирован автоматически :
Как видим принцип работы такой же как для адрес фэмели vpnv4 .
Смотрим полученные по bgp мак адреса для l2vpn evpn на SPINE-3:
и видим мак адрес сервера Linux-2 .
Таким образом у нас мак адреса будут передаваться в bgp пакетах, кстати бродкастовый трафик продолжит передаваться по мультикаст.
Команды для диагностики :
show bgp l2vpn evpn neighbors 65.0.0.10 advertised-routes
show bgp l2vpn evpn
show bgp l2vpn evpn summary
show nve vni 160100
show nve peers
sho mac address-table
show int nve 1так же для физических свитчей
show platform fwm info nve peer
show platform fwm info nve vn
Конфиги :
SPINE-1
nv overlay evpn
feature ospf
feature bgp
feature pim
feature vn-segment-vlan-based
feature lldp
feature nv overlayip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidirinterface Ethernet1/1
no switchport
ip address 10.0.1.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/2
no switchport
ip address 10.0.2.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/3
no switchport
ip address 10.0.3.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/4
no switchport
ip address 10.0.4.2/24
ip pim sparse-mode
no shutdowninterface loopback0
ip address 65.0.0.10/32interface loopback10
ip address 10.10.10.9/30
ip ospf network point-to-point
ip router ospf 1 area 0.0.0.0
ip pim sparse-moderouter ospf 1
network 10.0.0.0/16 area 0.0.0.0
network 65.0.0.10/32 area 0.0.0.0
router bgp 65000
neighbor 62.0.0.0/24
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client
SPINE-2
nv overlay evpn
feature ospf
feature bgp
feature pim
feature vn-segment-vlan-based
feature lldp
feature nv overlayip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidirinterface Ethernet1/1
no switchport
ip address 10.0.14.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/2
no switchport
ip address 10.0.13.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/3
no switchport
ip address 10.0.12.2/24
ip pim sparse-mode
no shutdowninterface Ethernet1/4
no switchport
ip address 10.0.11.2/24
ip pim sparse-mode
no shutdown
interface loopback0
ip address 65.0.0.11/32interface loopback10
ip address 10.10.10.9/29
ip ospf network point-to-point
ip router ospf 1 area 0.0.0.0
ip pim sparse-moderouter ospf 1
network 10.0.0.0/16 area 0.0.0.0
network 62.0.0.11/32 area 0.0.0.0
network 65.0.0.11/32 area 0.0.0.0
router bgp 65000
neighbor 62.0.0.0/24
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client
LEAF-2
nv overlay evpn
feature ospf
feature bgp
feature pim
feature vn-segment-vlan-based
feature lldp
feature nv overlayip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidirvlan 1,100
vlan 100
vn-segment 160100interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback0
member vni 160100 mcast-group 224.2.2.10interface Ethernet1/1
description Linux-2
switchport access vlan 100interface Ethernet1/2
no switchport
ip address 10.0.2.1/24
ip pim sparse-mode
no shutdowninterface Ethernet1/3
no switchport
ip address 10.0.12.1/24
ip pim sparse-mode
no shutdowninterface loopback0
ip address 62.0.0.2/32
ip pim sparse-moderouter ospf 1
network 10.0.0.0/16 area 0.0.0.0
network 62.0.0.2/32 area 0.0.0.0
router bgp 65000
neighbor 65.0.0.10
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
neighbor 65.0.0.11
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
evpn
vni 160100 l2
rd auto
route-target import auto
route-target export auto
LEAF-3
v overlay evpn
feature ospf
feature bgp
feature pim
feature vn-segment-vlan-based
feature lldp
feature nv overlayip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidir
vlan 1,100
vlan 100
vn-segment 160100interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback0
member vni 160100 mcast-group 224.2.2.10interface Ethernet1/1
description Linux-3
switchport access vlan 100interface Ethernet1/2
no switchport
ip address 10.0.3.1/24
ip pim sparse-mode
no shutdowninterface Ethernet1/3
no switchport
ip address 10.0.13.1/24
ip pim sparse-mode
no shutdowninterface loopback0
ip address 62.0.0.3/32
ip pim sparse-modeinterface loopback100router ospf 1
network 10.0.0.0/16 area 0.0.0.0
network 62.0.0.3/32 area 0.0.0.0
router bgp 65000
neighbor 65.0.0.10
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
neighbor 65.0.0.11
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
evpn
vni 160100 l2
rd auto
route-target import auto
route-target export auto