Простая топология
Базовый пример по запуску простейшей топологии из двух маршутизаторов с небольшим разбором происходящего.
Соберем ospf между двумя маршрутизаторами. Для этого создадим директорию, и в ней файл topology.yml
---
provider: clab
defaults.device: frr
module: [ ospf ]
nodes: [ r1, r2 ]
links: [ r1, r2, r1-r2 ]Файл описывает следующее:
В качестве оркеcтратора используется containerlab
Используется образ устройства frr
Используется ospf в качестве динамического протокола маршрутизации
Будет создано 2 маршрутизатора r1, r2
Будет создано 3 сетевых соединения, по одному stub на каждом маршутизаторе и одно между ними.
После выполнения netlab up произойдет создание следующих файлов:
containerlab configuration file
Device configuration files mapped into FRRouting containers
hosts.yml(Ansible inventory file)host_varsdirectory (Ansible host variables)group_varsdirectory (Ansible group variables)ansible.cfg(Ansible configuration file).
После запустятся контейнеры с frr, после чего будет выполнена настройка устройств через Ansible по шаблонам.
Все не указанные обязательные параметры вроде адресного пространства, номеров интерфейсов и т.д. будут назначены по умолчанию.
После того как стенд запустится можно будет напрямую подключаться к устройствам через netlab connect и работать с ними.
После окончания работы со стендом можно выполнить netlab down что выключит созданные контейнеры и освободит занимаемые ресурсы, файлы созданные в процессе запуска останутся лежать в директории.
По умолчанию netlab поддерживает только один запущенный стенд на хостовой машине, однако есть модуль multilab который позволяет запускать несколько стендов.
Последнее обновление