Сессия GRE¶
В режиме GRE Watcher устанавливает настоящее соседство OSPF/IS-IS с одним из ваших маршрутизаторов через туннель GRE, а затем пассивно передаёт каждое изменение LSDB в Topolograph. В отличие от текстового файла, это живой поток - граф и временная шкала событий обновляются по мере изменений в сети.
Режим GRE работает практически с любым маршрутизатором, способным построить туннель GRE и запустить поверх него OSPF/IS-IS, что делает его самым широко совместимым вариантом передачи данных в реальном времени.

Как это работает¶
- Watcher запускает экземпляр FRR внутри изолированного сетевого окружения.
- Этот FRR устанавливает соседство OSPF (или IS-IS) с вашим маршрутизатором через туннель GRE.
- После установления соседства маршрутизатор рассылает свою LSDB Watcher-у так же, как любому другому соседу - и Watcher превращает каждое изменение в событие для Topolograph, ELK, Zabbix или Slack.
Watcher пассивен - и защищён
Watcher - участник только для прослушивания. XDP-фильтр OSPF проверяет всё, что экземпляр FRR пытается анонсировать, и отбрасывает любое DB description или LSUpdate, объявляющее больше, чем собственная сеть GRE-туннеля Watcher-а. Это гарантирует, что Watcher никогда не сможет анонсировать неожиданные префиксы в ваш домен IGP. См. Режим только для прослушивания.
Каждый Watcher хранит все маршруты и обновления внутри изолированной среды, поэтому он никогда не влияет на маршрутизацию хоста или на другие Watcher-ы.
1. Настройте туннель на маршрутизаторе¶
Постройте туннель GRE от устройства до хоста, на котором работает Watcher. Пример для Cisco:
interface Tunnel0
ip address <gre-tunnel-ip>
tunnel mode gre
tunnel source <router-ip>
tunnel destination <host-ip>
ip ospf network type point-to-point
Затем включите сеть GRE-туннеля в конфигурацию OSPF/IS-IS маршрутизатора, чтобы через неё могло установиться соседство.
2. Настройте Watcher¶
На стороне Watcher-а сеть GRE-туннеля задаётся в конфигурации FRR
(quagga/config/ospfd.conf для OSPF). Watcher запускается своим
lab-контейнером, который создаёт и связывает изолированное сетевое
окружение для Watcher-а и его FRR:
- изолированное сетевое окружение для Watcher-а и его FRR,
- пару tap-интерфейсов, соединяющих Watcher с хостом Linux,
- туннель GRE внутри окружения Watcher-а,
- NAT для трафика GRE,
- процессы FRR + Watcher,
- XDP-фильтр OSPF/IS-IS, привязанный к tap-интерфейсу Watcher-а.
Точные шаги описаны в репозиториях Watcher-ов: OSPF Watcher · IS-IS Watcher.
Нет маршрутизатора под рукой? Используйте тестовый режим
Установите TEST_MODE=True, чтобы подать на вход Watcher-а статический
демонстрационный файл LSDB и воспроизвести примеры изменений (потеря
соседства, изменение метрики) - отличный способ опробовать весь конвейер
без единого устройства. Также есть готовая
лаборатория containerlab.
3. Проверьте соседство¶
Убедитесь, что FRR Watcher-а видит ваш маршрутизатор как соседа. Откройте
консоль FRR Watcher-а и запустите vtysh:
Ваше сетевое устройство должно появиться в выводе. Если этого не произошло, у Watcher-а есть диагностический скрипт - см. раздел устранения неполадок на страницах OSPF Watcher / IS-IS Watcher.
GRE против BGP-LS¶
Режиму GRE нужен туннель и соседство IGP на каждую точку подключения. Если ваши маршрутизаторы умеют экспортировать топологию через BGP-LS, этот режим полностью избавляет от туннелей и легче масштабируется на несколько областей/уровней.
Далее: посмотрите, что Watcher делает с полученным потоком → OSPF Watcher · IS-IS Watcher