Конфигурация EVPN + VXLAN на Nexus.

Usupovman
6 min readJun 15, 2021

--

Немного поменял прошлую схему, теперь вся топология построена на Nexus:

Начнем с настроек на Spine , включаем необходимый функционал и настраиваем маршрутизацию, настройки на обоих Spine идентичны, ниже приведет SPINE- 1:

nv overlay evpn
feature ospf
feature bgp
feature pim
feature vn-segment-vlan-based
feature nv overlay
interface Ethernet1/1
no switchport
ip address 10.0.1.2/24
ip pim sparse-mode
no shutdown
interface Ethernet1/2
no switchport
ip address 10.0.2.2/24
ip pim sparse-mode
no shutdown
interface Ethernet1/3
no switchport
ip address 10.0.3.2/24
ip pim sparse-mode
no shutdown
interface Ethernet1/4
no switchport
ip address 10.0.4.2/24
ip pim sparse-mode
no shutdown
interface loopback0
ip address 65.0.0.10/32
router 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-mode
ip 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-mode
ip 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 100
interface Ethernet1/2
no switchport
ip address 10.0.2.1/24
ip pim sparse-mode
no shutdown
interface Ethernet1/3
no switchport
ip address 10.0.12.1/24
ip pim sparse-mode
no shutdown
interface 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 overlay
ip 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 shutdown
interface Ethernet1/2
no switchport
ip address 10.0.2.2/24
ip pim sparse-mode
no shutdown
interface Ethernet1/3
no switchport
ip address 10.0.3.2/24
ip pim sparse-mode
no shutdown
interface Ethernet1/4
no switchport
ip address 10.0.4.2/24
ip pim sparse-mode
no shutdown
interface loopback0
ip address 65.0.0.10/32
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-mode
router 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 overlay
ip 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 shutdown
interface Ethernet1/2
no switchport
ip address 10.0.13.2/24
ip pim sparse-mode
no shutdown
interface Ethernet1/3
no switchport
ip address 10.0.12.2/24
ip pim sparse-mode
no shutdown
interface 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/32
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-mode
router 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 overlay
ip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidirvlan 1,100
vlan 100
vn-segment 160100
interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback0
member vni 160100 mcast-group 224.2.2.10
interface Ethernet1/1
description Linux-2
switchport access vlan 100
interface Ethernet1/2
no switchport
ip address 10.0.2.1/24
ip pim sparse-mode
no shutdown
interface Ethernet1/3
no switchport
ip address 10.0.12.1/24
ip pim sparse-mode
no shutdown
interface 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
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 overlay
ip pim rp-address 10.10.10.10 group-list 224.0.0.0/4 bidir
vlan 1,100
vlan 100
vn-segment 160100
interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback0
member vni 160100 mcast-group 224.2.2.10
interface Ethernet1/1
description Linux-3
switchport access vlan 100
interface Ethernet1/2
no switchport
ip address 10.0.3.1/24
ip pim sparse-mode
no shutdown
interface Ethernet1/3
no switchport
ip address 10.0.13.1/24
ip pim sparse-mode
no shutdown
interface loopback0
ip address 62.0.0.3/32
ip pim sparse-mode
interface 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

--

--