BGP EVPN FRR simple: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) (→FRR1) |
||
| Строка 102: | Строка 102: | ||
router ospf |
router ospf |
||
ospf router-id 192.168.32.101 |
ospf router-id 192.168.32.101 |
||
| + | redistribute kernel route-map REDISTRIBUTE-KERNEL-TO-OSPF |
||
| + | redistribute connected route-map REDISTRIBUTE-CONNECTED-TO-OSPF |
||
| + | redistribute static route-map REDISTRIBUTE-STATIC-TO-OSPF |
||
| + | passive-interface default |
||
| + | network 10.80.6.0/24 area 0 |
||
| + | exit |
||
| + | ! |
||
| + | route-map REDISTRIBUTE-KERNEL-TO-OSPF permit 10 |
||
| + | match ip address prefix-list REDISTRIBUTE-KERNEL-TO-OSPF-LOOPBACK-BLOCK |
||
| + | exit |
||
| + | ! |
||
| + | route-map REDISTRIBUTE-STATIC-TO-OSPF permit 10 |
||
| + | match ip address prefix-list REDISTRIBUTE-STATIC-TO-OSPF-LOOPBACK-BLOCK |
||
| + | exit |
||
| + | ! |
||
| + | route-map REDISTRIBUTE-CONNECTED-TO-OSPF permit 10 |
||
| + | match ip address prefix-list REDISTRIBUTE-CONNECTED-TO-OSPF-LOOPBACK-BLOCK |
||
| + | exit |
||
| + | ! |
||
| + | end |
||
| + | </PRE> |
||
| + | ===FRR2=== |
||
| + | <PRE> |
||
| + | Total number of neighbors 1 |
||
| + | frr2# show run |
||
| + | Building configuration... |
||
| + | |||
| + | Current configuration: |
||
| + | ! |
||
| + | frr version 10.2.1 |
||
| + | frr defaults traditional |
||
| + | hostname frr2 |
||
| + | log file /var/log/frr.log |
||
| + | log syslog informational |
||
| + | no ip forwarding |
||
| + | no ipv6 forwarding |
||
| + | service integrated-vtysh-config |
||
| + | ! |
||
| + | ip prefix-list REDISTRIBUTE-KERNEL-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 |
||
| + | ip prefix-list REDISTRIBUTE-STATIC-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 |
||
| + | ip prefix-list REDISTRIBUTE-CONNECTED-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 |
||
| + | ! |
||
| + | debug bgp as4 |
||
| + | debug bgp keepalives |
||
| + | debug bgp neighbor-events |
||
| + | debug bgp updates in |
||
| + | debug bgp updates out |
||
| + | debug bgp evpn mh es |
||
| + | debug bgp evpn mh route |
||
| + | ! |
||
| + | debug vrf |
||
| + | ! |
||
| + | interface tenant |
||
| + | no ip ospf passive |
||
| + | exit |
||
| + | ! |
||
| + | router bgp 65000 |
||
| + | bgp router-id 192.168.32.102 |
||
| + | no bgp default ipv4-unicast |
||
| + | neighbor fabric peer-group |
||
| + | neighbor fabric remote-as 65000 |
||
| + | neighbor fabric update-source 192.168.32.102 |
||
| + | neighbor fabric capability extended-nexthop |
||
| + | neighbor 192.168.32.101 peer-group fabric |
||
| + | ! |
||
| + | address-family l2vpn evpn |
||
| + | neighbor fabric activate |
||
| + | exit-address-family |
||
| + | exit |
||
| + | ! |
||
| + | router ospf |
||
| + | ospf router-id 192.168.32.102 |
||
redistribute kernel route-map REDISTRIBUTE-KERNEL-TO-OSPF |
redistribute kernel route-map REDISTRIBUTE-KERNEL-TO-OSPF |
||
redistribute connected route-map REDISTRIBUTE-CONNECTED-TO-OSPF |
redistribute connected route-map REDISTRIBUTE-CONNECTED-TO-OSPF |
||
Версия 11:24, 13 февраля 2025
Минимальная конфигурация EVPN по шагам
Это документ о настройке абсолютно минимальной конфигурации EVPN
Схема сети
Оригинал: Файл:FRR BGP EVPN 1.drawio
Тестовый стенд полностью виртуализирован.
На этой схеме:
- 2 маршрутизатора FRR выполняют роли PE (Provider Edge, маршрутизатор куда подключены клиентские устройства)
- Сеть tenant используется как транспортная сеть между маршрутизаторами (l2 сегмент)
- Каждый из PE имеет по 1 подключеному CE (Client Edge, маршрутизатор клиента подключенный к оборудованию провайдера)
- CE максимально упрощены - это просто IP адрес поднятый на бридже (но конечно ничто не мешает использовать отдельную виртуальную машину, разницы нет)
- Используется 1 интерфейс для поддключения CE
- Номер VNI (VxLAN Network Identifier) выбран абсолютно произвольно, такое значение взято что бы оно случайно не совпало ни с каким другим и было заведомо больше максимального номера влана
- Management сеть используется только для управлени маршрутизаторами (без нее можно обойтись) Интерфейсы в этой сети названы external по историческим причинам.
- Интерфейсы loopback изспользуются для построения сессий BGP
Настройка сети на маршрутизаторах
- Настройки на обоих маршрутизаторах идентичны (с точностью до адресов)
dummyподдерживается в относительно новых версияхnetplan(Убунту 24.04 поддерживает)
FRR1
network:
version: 2
dummy-devices:
loopback0:
addresses:
- 192.168.32.101/32
ethernets:
ens3:
dhcp4: false
dhcp6: false
addresses: ["10.80.6.253/24"]
set-name: "tenant"
match:
macaddress: "00:99:00:00:00:01"
ens5:
dhcp4: true
dhcp6: false
match:
macaddress: "00:99:00:00:00:03"
set-name: "external"
FRR2
network:
version: 2
dummy-devices:
loopback0:
addresses:
- 192.168.32.102/32
ethernets:
ens3:
dhcp4: false
dhcp6: false
addresses: ["10.80.6.252/24"]
set-name: "tenant"
match:
macaddress: "00:99:00:00:22:01"
ens5:
dhcp4: true
dhcp6: false
match:
macaddress: "00:99:00:00:22:03"
set-name: "external"
Настройка демона FRR
Эта часть разделена на 2 части - не относящееся к EVPN выжелено в отдельную часть
Подготовительная настройка
- Запустить OSPF в сети tenant для того что бы получить доступность интерфейсов loopback
- сделать редистрибьюцию маршрутов в OSPF (не уверене что нужно делать все три - static connected и kernel даже скорее всего нет)
- тут можно вполне обойтись статикой без OSPF но так сделано для большей "достоверности"
FRR1
prefix-list REDISTRIBUTE- ...- префикс-листы что бы ограничить редистрибьюцию в OSPF только /32 (ge) сетями из диапазона192.168.32.0/24
frr version 10.2.1 frr defaults traditional hostname frr1 log file /var/log/frr.log log syslog informational no ip forwarding no ipv6 forwarding service integrated-vtysh-config ! ip prefix-list REDISTRIBUTE-KERNEL-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 ip prefix-list REDISTRIBUTE-STATIC-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 ip prefix-list REDISTRIBUTE-CONNECTED-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 ! router ospf ospf router-id 192.168.32.101 redistribute kernel route-map REDISTRIBUTE-KERNEL-TO-OSPF redistribute connected route-map REDISTRIBUTE-CONNECTED-TO-OSPF redistribute static route-map REDISTRIBUTE-STATIC-TO-OSPF passive-interface default network 10.80.6.0/24 area 0 exit ! route-map REDISTRIBUTE-KERNEL-TO-OSPF permit 10 match ip address prefix-list REDISTRIBUTE-KERNEL-TO-OSPF-LOOPBACK-BLOCK exit ! route-map REDISTRIBUTE-STATIC-TO-OSPF permit 10 match ip address prefix-list REDISTRIBUTE-STATIC-TO-OSPF-LOOPBACK-BLOCK exit ! route-map REDISTRIBUTE-CONNECTED-TO-OSPF permit 10 match ip address prefix-list REDISTRIBUTE-CONNECTED-TO-OSPF-LOOPBACK-BLOCK exit ! end
FRR2
Total number of neighbors 1 frr2# show run Building configuration... Current configuration: ! frr version 10.2.1 frr defaults traditional hostname frr2 log file /var/log/frr.log log syslog informational no ip forwarding no ipv6 forwarding service integrated-vtysh-config ! ip prefix-list REDISTRIBUTE-KERNEL-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 ip prefix-list REDISTRIBUTE-STATIC-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 ip prefix-list REDISTRIBUTE-CONNECTED-TO-OSPF-LOOPBACK-BLOCK seq 10 permit 192.168.32.0/24 ge 32 ! debug bgp as4 debug bgp keepalives debug bgp neighbor-events debug bgp updates in debug bgp updates out debug bgp evpn mh es debug bgp evpn mh route ! debug vrf ! interface tenant no ip ospf passive exit ! router bgp 65000 bgp router-id 192.168.32.102 no bgp default ipv4-unicast neighbor fabric peer-group neighbor fabric remote-as 65000 neighbor fabric update-source 192.168.32.102 neighbor fabric capability extended-nexthop neighbor 192.168.32.101 peer-group fabric ! address-family l2vpn evpn neighbor fabric activate exit-address-family exit ! router ospf ospf router-id 192.168.32.102 redistribute kernel route-map REDISTRIBUTE-KERNEL-TO-OSPF redistribute connected route-map REDISTRIBUTE-CONNECTED-TO-OSPF redistribute static route-map REDISTRIBUTE-STATIC-TO-OSPF passive-interface default network 10.80.6.0/24 area 0 exit ! route-map REDISTRIBUTE-KERNEL-TO-OSPF permit 10 match ip address prefix-list REDISTRIBUTE-KERNEL-TO-OSPF-LOOPBACK-BLOCK exit ! route-map REDISTRIBUTE-STATIC-TO-OSPF permit 10 match ip address prefix-list REDISTRIBUTE-STATIC-TO-OSPF-LOOPBACK-BLOCK exit ! route-map REDISTRIBUTE-CONNECTED-TO-OSPF permit 10 match ip address prefix-list REDISTRIBUTE-CONNECTED-TO-OSPF-LOOPBACK-BLOCK exit ! end