Часть 8. VxLAN. Routing

Цель

  • Реализовать маршрутизацию между "клиентами" (tentant) через EVPN route-type 5

Ожидаемый результат

  1. Два "клиента" размещены в разных VRF в рамках одной фабрики.

  2. Настроена маршрутизацию между клиентами через внешнее устройство (граничный роутер\фаерволл\etc).

  3. В документации зафиксированы - план работы, адресное пространство, схему сети, настройки сетевого оборудования.

Достижение результата

Введение

В этой части не будет ничего про автоматизацию. Нужно глобально переделывать шаблоны для поддержки multitentant'ости ¯_(ツ)/¯_

Представим, что у нас есть два тентанта - "red" и "green" (они помечены соответствующими цветами в схеме. Внезапно :xD ). Тентантам принадлежат следующие сети:

Tenant
Network

red

192.168.101.0/24

red

192.168.103.0/24

green

192.168.102.0/24

На leaf'ах настроены anycast gateway на vlan-интерфейсах, а сами интерфейсы определены в соответствующие vrf:

interface Vlan101
   vrf red
   ip address virtual 192.168.101.254/24
!
interface Vlan102
   vrf green
   ip address virtual 192.168.102.254/24
!
interface Vlan103
   vrf red
   ip address virtual 192.168.103.254/24
!

Схема сети

Модернизируем схему и встраиваем в нее NGFW Palo Alto Networks (PAN-OS 11.0.0). FW будет подключен аггрегированным линком в no-osl-dc1-f1-r03k04-lf01 и no-osl-dc1-f1-r03k04-lf02 Оказалось, что PA-VM не поддерживает агрегированные интерфейсы.

адресация

Согласно схемы имеем следующие подключения:

Устройство A
Интерфейс
IP-адрес
Устройство B
Интерфейс
IP-адрес
VRF

NGFW PA-VM

Ethernet 1/1

10.16.2.17/31

no-osl-dc1-f1-r03k04-lf01

Ethernet 3

10.16.2.16/31

red

NGFW PA-VM

Ethernet 1/2

10.16.2.19/31

no-osl-dc1-f1-r03k04-lf01

Ethernet 4

10.16.2.18/31

green

NGFW PA-VM

Ethernet 1/3

10.16.2.21/31

no-osl-dc1-f1-r03k04-lf02

Ethernet 3

10.16.2.20/31

red

NGFW PA-VM

Ethernet 1/4

10.16.2.23/31

no-osl-dc1-f1-r03k04-lf02

Ethernet 4

10.16.2.22/31

green

Файлы конфигураций устройств

Традиционно не вмешиваемся в настройки spine'ов, а работаем только с leaf'ами. Собственно, бОльшая часть конфигурации приходится на border leaf'ы и сам файрвол.

Ниже ссылки на конфиги leaf'ов

Файрвол ничего не файрволит, а только маршрутизирует :)

Для простоты созданы 2 зоны - trust и untrust. В trust помещены все интерфейсы, идущие к leaf'ам, в untrust - вымышленный интерфейс в интернет.

Создана одна единственная политика безопасности, которая разрешает все отовсюду.

Настройки интерфейсов:

Настройки BGP для PAN-OS:

  1. BGP. General

Тут нас интересует включение поддержки 4-byte AS

  1. BGP. Advanced

Здесь я отметил ECMP Multiple AS Support

  1. BGP. Peer Group

  1. BGP. Import

Тут ничего не делал

  1. BGP. Export

Вот тут настроена политика экспорта. Не претендую на изящное и правильное решение, но, как-будто, работает как нужно.

1-ая политика явно разрешает экспорт маршрута 0.0.0.0/0.

2-ая политика запрещает экспорт маршрутов, полученных от пиров. Надеюсь, я правильно интерпретировал настройку.

Таблицы маршрутизации устройств

В итоговом виде таблицы маршрутизации выглядят следующим образом:

no-osl-dc1-f1-r03k04-lf01

sh ip route vrf red

VRF: red
Codes: C - connected, S - static, K - kernel, 
       O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type2, B - Other BGP Routes,
       B I - iBGP, B E - eBGP, R - RIP, I L1 - IS-IS level 1,
       I L2 - IS-IS level 2, O3 - OSPFv3, A B - BGP Aggregate,
       A O - OSPF Summary, NG - Nexthop Group Static Route,
       V - VXLAN Control Service, M - Martian,
       DH - DHCP client installed default route,
       DP - Dynamic Policy Route, L - VRF Leaked,
       G  - gRIBI, RC - Route Cache Route

Gateway of last resort:
 B E      0.0.0.0/0 [200/0] via 10.16.2.17, Ethernet3

 C        10.16.2.16/31 is directly connected, Ethernet3
 B E      10.16.2.20/31 [200/0] via VTEP 10.16.4.8 VNI 120101 router-mac 50:01:00:a1:60:83 local-interface Vxlan1
 B E      192.168.101.5/32 [200/0] via VTEP 10.16.4.5 VNI 120101 router-mac 50:00:00:15:f4:e8 local-interface Vxlan1
 C        192.168.101.0/24 is directly connected, Vlan101
 B E      192.168.103.6/32 [200/0] via VTEP 10.16.4.6 VNI 120101 router-mac 50:00:00:88:fe:27 local-interface Vxlan1
 C        192.168.103.0/24 is directly connected, Vlan103

sh ip route vrf green

VRF: green
Codes: C - connected, S - static, K - kernel, 
       O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type2, B - Other BGP Routes,
       B I - iBGP, B E - eBGP, R - RIP, I L1 - IS-IS level 1,
       I L2 - IS-IS level 2, O3 - OSPFv3, A B - BGP Aggregate,
       A O - OSPF Summary, NG - Nexthop Group Static Route,
       V - VXLAN Control Service, M - Martian,
       DH - DHCP client installed default route,
       DP - Dynamic Policy Route, L - VRF Leaked,
       G  - gRIBI, RC - Route Cache Route

Gateway of last resort:
 B E      0.0.0.0/0 [200/0] via 10.16.2.19, Ethernet4

 C        10.16.2.18/31 is directly connected, Ethernet4
 B E      10.16.2.22/31 [200/0] via VTEP 10.16.4.8 VNI 12010 router-mac 50:01:00:a1:60:83 local-interface Vxlan1
 C        192.168.102.0/24 is directly connected, Vlan102

Вывод указывает на то, что для vrf 'red' маршрут по умолчанию получен через интерфейс Ethernet 3 и следует через FW и его интерфейс Ethernet 1/1, а для vrf 'green' маршрут по умолчанию получен через интерфейс Ethernet 4 и пойдет через FW и интерфейс Ethernet 1/2.

sh ip bgp summary vrf red

BGP summary information for VRF red
Router identifier 10.16.1.7, local AS number 4200131337
Neighbor Status Codes: m - Under maintenance
  Neighbor   V AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
  10.16.2.17 4 4200131350      3497      4118    0    0 19:28:26 Estab   1      1

sh ip bgp summary vrf green

BGP summary information for VRF green
Router identifier 10.16.1.7, local AS number 4200131337
Neighbor Status Codes: m - Under maintenance
  Neighbor   V AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
  10.16.2.19 4 4200131350      2957      3318    0    0 19:28:31 Estab   1      1

no-osl-dc1-f1-r03k04-lf02

ip route vrf red

VRF: red
Codes: C - connected, S - static, K - kernel, 
       O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type2, B - Other BGP Routes,
       B I - iBGP, B E - eBGP, R - RIP, I L1 - IS-IS level 1,
       I L2 - IS-IS level 2, O3 - OSPFv3, A B - BGP Aggregate,
       A O - OSPF Summary, NG - Nexthop Group Static Route,
       V - VXLAN Control Service, M - Martian,
       DH - DHCP client installed default route,
       DP - Dynamic Policy Route, L - VRF Leaked,
       G  - gRIBI, RC - Route Cache Route

Gateway of last resort:
 B E      0.0.0.0/0 [200/0] via 10.16.2.21, Ethernet3

 B E      10.16.2.16/31 [200/0] via VTEP 10.16.4.7 VNI 120101 router-mac 50:01:00:02:f6:c5 local-interface Vxlan1
 C        10.16.2.20/31 is directly connected, Ethernet3
 B E      192.168.101.5/32 [200/0] via VTEP 10.16.4.5 VNI 120101 router-mac 50:00:00:15:f4:e8 local-interface Vxlan1
 C        192.168.101.0/24 is directly connected, Vlan101
 B E      192.168.103.6/32 [200/0] via VTEP 10.16.4.6 VNI 120101 router-mac 50:00:00:88:fe:27 local-interface Vxlan1
 C        192.168.103.0/24 is directly connected, Vlan103

sh ip route vrf green

VRF: green
Codes: C - connected, S - static, K - kernel, 
       O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type2, B - Other BGP Routes,
       B I - iBGP, B E - eBGP, R - RIP, I L1 - IS-IS level 1,
       I L2 - IS-IS level 2, O3 - OSPFv3, A B - BGP Aggregate,
       A O - OSPF Summary, NG - Nexthop Group Static Route,
       V - VXLAN Control Service, M - Martian,
       DH - DHCP client installed default route,
       DP - Dynamic Policy Route, L - VRF Leaked,
       G  - gRIBI, RC - Route Cache Route

Gateway of last resort:
 B E      0.0.0.0/0 [200/0] via 10.16.2.23, Ethernet4

 B E      10.16.2.18/31 [200/0] via VTEP 10.16.4.7 VNI 12010 router-mac 50:01:00:02:f6:c5 local-interface Vxlan1
 C        10.16.2.22/31 is directly connected, Ethernet4
 C        192.168.102.0/24 is directly connected, Vlan102

sh ip bgp summary vrf red

BGP summary information for VRF red
Router identifier 10.16.1.8, local AS number 4200131338
Neighbor Status Codes: m - Under maintenance
  Neighbor   V AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
  10.16.2.21 4 4200131350      2807      3392    0    0 19:42:36 Estab   1      1

sh ip bgp summary vrf green

BGP summary information for VRF green
Router identifier 10.16.1.8, local AS number 4200131338
Neighbor Status Codes: m - Under maintenance
  Neighbor   V AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd PfxAcc
  10.16.2.23 4 4200131350      2798      3146    0    0 19:42:39 Estab   1      1

NGFW PA-VM

show routing route

flags: A:active, ?:loose, C:connect, H:host, S:static, ~:internal, R:rip, O:ospf, B:bgp, Oi:ospf intra-area, Oo:ospf inter-area, O1:ospf ext-type-1, O2:ospf ext-type-2, E:ecmp, M:multicast

VIRTUAL ROUTER: default (id 1)
  ==========
destination                                 nexthop                                 metric flags      age   interface          next-AS    
0.0.0.0/0                                   0.0.0.0                                 1      A ~                                            
10.16.1.50/32                               0.0.0.0                                 0      A H                                            
10.16.2.16/31                               10.16.2.16                                      ?B        65336                    4200131337 
10.16.2.16/31                               10.16.2.17                              0      A C              ethernet1/1                   
10.16.2.17/32                               0.0.0.0                                 0      A H                                            
10.16.2.18/31                               10.16.2.18                                      ?B        65336                    4200131337 
10.16.2.18/31                               10.16.2.19                              0      A C              ethernet1/2                   
10.16.2.19/32                               0.0.0.0                                 0      A H                                            
10.16.2.20/31                               10.16.2.20                                      ?B        65336                    4200131338 
10.16.2.20/31                               10.16.2.21                              0      A C              ethernet1/3                   
10.16.2.21/32                               0.0.0.0                                 0      A H                                            
10.16.2.22/31                               10.16.2.22                                      ?B        65336                    4200131338 
10.16.2.22/31                               10.16.2.23                              0      A C              ethernet1/4                   
10.16.2.23/32                               0.0.0.0                                 0      A H                                            
192.168.101.0/24                            10.16.2.16                                     A?B E      65336                    4200131337 
192.168.101.0/24                            10.16.2.20                                     A?B E      65336                    4200131338 
192.168.101.5/32                            10.16.2.16                                     A?B E      3988                     4200131337 
192.168.101.5/32                            10.16.2.20                                     A?B E      3988                     4200131338 
192.168.102.0/24                            10.16.2.18                                     A?B E      65336                    4200131337 
192.168.102.0/24                            10.16.2.22                                     A?B E      65336                    4200131338 
192.168.103.0/24                            10.16.2.16                                     A?B E      65336                    4200131337 
192.168.103.0/24                            10.16.2.20                                     A?B E      65336                    4200131338 
192.168.103.6/32                            10.16.2.16                                     A?B E      3988                     4200131337 
192.168.103.6/32                            10.16.2.20                                     A?B E      3988                     4200131338 
total routes shown: 24

Тут можно проследить, что для префиксов tentant'ов 'red' и 'green' (192.168.101.0/24, 192.168.102.0/24, 192.168.103.0/24) работает ECMP.

Тестирование на отключение одного leaf'а

Тестировать будем пингами с 192.168.103.6 до 192.168.102.5

Смотрим в логи NGFW и отмечаем Ingress и Egress интерфейсы. Видим, что трафик обрабатывается на no-osl-dc1-f1-r03k04-lf02

Отключаем leaf! (/) (°,,°) (/)

После перестроения маршрутов видим, что трафик пошел через leaf no-osl-dc1-f1-r03k04-lf01

Это видно по Ingress и Egress интерфейсам. Теперь это ethernet1/1 и ethernet1/2, соотвественно:

Выводы

Таким образом можно сделать следующие выводы:

  • маршрутизация между сетями внутри одного tentant'а отработает внутри EVPN фабрики

  • маршрутизация между сетями разным tentent'ов отработает через NGFW PA-VM за пределами EVPN фабрики за счет анонса префикса 0.0.0.0/0 со стороны NGFW.

  • удалось добиться какой-то отказоустойчивости по линкам и border leaf'ам.

Last updated