lab03-ISIS-CLOS

Задание Underlay. IS-IS

Цель: Настроить IS-IS для Underlay сети.

Схема стенда

stand-plan

Стенд делаем по принципу - хосты linux, leaf - frr, spine - eos (arista)

Распределение адресного пространства для Underlay

План составлен с учетом 10.x.y.z, где x - номер DC, y - номер spine, z - по очереди для подключения leaf Адреса для хостов - 172.16.x.z/24, где x - номер leaf, z - по порядку адрес хоста, на leaf ip .1 Адреса loopback 192.168.a.b/32, где a - 1 для spine, 2 - для leaf, b - номер spine, leaf по порядку Адресацию ipv6 делаем по прицнипу из fd00::[IPv4]

Interconnect ipv4 ipv6

Device A
Interface A
IPv4 A
IPv6 A
Device B
Interface B
IPv4 B
IPv6 B

Spine-1

Eth1

10.1.1.0/31

fd00::10:1:1:0/127

Leaf-1

Eth8

10.1.1.1/31

fd00::10:1:1:1/127

Spine-1

Eth2

10.1.1.2/31

fd00::10:1:1:2/127

Leaf-2

Eth8

10.1.1.3/31

fd00::10:1:1:3/127

Spine-1

Eth3

10.1.1.4/31

fd00::10:1:1:4/127

Leaf-3

Eth8

10.1.1.5/31

fd00::10:1:1:5/127

Spine-2

Eth2

10.1.2.0/31

fd00::10:2:1:0/127

Leaf-1

Eth9

10.1.2.1/31

fd00::10:2:1:1/127

Spine-2

Eth2

10.1.2.2/31

fd00::10:2:1:2/127

Leaf-2

Eth9

10.1.2.3/31

fd00::10:2:1:3/127

Spine-2

Eth3

10.1.2.4/31

fd00::10:2:1:4/127

Leaf-3

Eth9

10.1.2.5/31

fd00::10:2:1:5/127

Host-1

Eth1

172.16.1.2/24

fd00::172:16:1:2/116

Leaf-1

Eth1

172.16.1.1/24

fd00::172:16:1:1/116

Host-2

Eth1

172.16.2.2/24

fd00::172:16:2:2/116

Leaf-2

Eth1

172.16.2.1/24

fd00::172:16:2:1/116

Host-3

Eth1

172.16.3.2/24

fd00::172:16:3:2/116

Leaf-3

Eth1

172.16.3.1/24

fd00::172:16:3:1/116

Host-4

Eth1

172.16.4.2/24

fd00::172:16:4:2/116

Leaf-3

Eth2

172.16.4.1/24

fd00::172:16:4:1/116

loopback

Device
Loopback ipv4
loopback ipv6

Spine-1

192.168.1.1

fd00::192:168:1:1

Spine-2

192.168.1.2

fd00::192:168:1:2

Leaf-1

192.168.2.1

fd00::192:168:2:1

Leaf-2

192.168.2.2

fd00::192:168:2:2

Leaf-3

192.168.2.3

fd00::192:168:2:3

isis.net устанавливаем руками, где system id трансляция ip loopback интерфейса, area id 1. Таблица net

Device
NET

Spine-1

49.0001.1921.6801.0001.00

Spine-2

49.0001.1921.6801.0002.00

Leaf-1

49.0001.1921.6802.0001.00

Leaf-2

49.0001.1921.6802.0002.00

Leaf-3

49.0001.1921.6802.0003.00

circle-info

Примечание - так как в явном виде не указано что делать с адресацией на хостовых машинах, а в качестве leaf и spine выступают роутеры, до настройки overlay адреса на хостах распределены из разных подсетей.

Когда поднимем overlay засунем все в одну подсеть чтобы эмулировать l2. Из маршрутизации интерфейсы к которым подключены хосты убираем.

Запуск лабараторной в среде netlab

Заметки по использованию netlab: Для работы bfd в frr нужно включить его принудительно в образе по умолчанию, т.к. в netlab не заявлено поддержки bfd на оборудовании frr. Правим файл /usr/local/lib/python3.10/dist-packages/netsim/templates/provider/clab/frr/daemons.j2 включая демона - bfdd=yes. Так же если хотим использовать другие протоколы в frr, без подключения модулей в netlab в этом же файле нужно включить желаемых демонов. Заметки по лабе: Возникли проблемы с настройкой bfd для is-is. Так как руками его удалось поднять, пришел к выводу что документация netlab не верна в части заявлений об отсутсвии поддержки bfd для isis для frr интсансов. Залез в модуль /usr/local/lib/python3.10/dist-packages/netsim/ansible/templates/isis/frr.macro.j2 отвечающий за сборку frr и добавил его поддержку. netlab это же про никаких настроек ручками, даже если быстрее и проще? Однако уперся в ограничение со строны frr Note that there will be just one BFD session per interface. In case both IPv4 and IPv6 support are configured then just a IPv6 based session is created. Смотрим в документацию по bfd для isis eos(Arista) и узнаем что BFD is not supported for IPv6 ISIS. Здесь можно было сдаться, но помня о том что отсутсвие поддержки в документации скорее связано с недоделанным модулем, а не ограничениями платформ пошел проверять руками и без удивления обнаружил работающий bfd для isis на ipv6. Пришлось немного дописать модуль /usr/local/lib/python3.10/dist-packages/netsim/ansible/templates/isis/eos.macro.j2 чтобы все красиво вставало само. Оставшееся ограничение - необходимость в явном виде указывать протокол по которому bfd построится для eos, то есть т.к. со стороны frr у нас dualstack, то на eos нужно явно говорить что работаем с ipv6.

конфиг-файлarrow-up-right или под катом

chevron-righttopology.ymlhashtag

Проверка работы

chevron-rightspine-1hashtag
chevron-rightspine-2hashtag

Проверяем пинг loopback всех устройств с leaf-3.

chevron-rightleaf-3 pingshashtag

Конфигурационные файлы устройств:

Spine-1arrow-up-right Spine-2arrow-up-right Leaf-1arrow-up-right Leaf-2arrow-up-right Leaf-3arrow-up-right

Последнее обновление