Routing & BGP
Содержание
BGP в RouterOS 7
В RouterOS 7 подсистема маршрутизации полностью переписана. BGP теперь работает через единый Routing Daemon с новой структурой конфигурации. Ключевые отличия от RouterOS 6:
- Разделение на connection, template и session
- Поддержка VRF (Virtual Routing and Forwarding)
- BGP Large Communities (RFC 8092)
- Расширенные фильтры маршрутов с select-правилами
- Улучшенная конвергенция при failover
Конфигурация BGP из RouterOS 6 не мигрируется автоматически. При обновлении необходимо перенастроить BGP вручную.
Базовая настройка eBGP
Сценарий: пиринг с провайдером
# Шаг 1: Определяем AS и router-id
/routing/bgp/template
set default as=65001 router-id=10.0.0.1
# Шаг 2: Создаём BGP connection к провайдеру
/routing/bgp/connection
add name=isp-uplink remote.address=203.0.113.1 remote.as=64999 local.role=ebgp address-families=ip as=65001 router-id=10.0.0.1 disabled=no
# Шаг 3: Анонсируем свою сеть
/routing/bgp/network
add network=198.51.100.0/24
# Проверка сессии
/routing/bgp/session/print
/routing/bgp/advertisements/printRouterOS CLI
Route Filters
Фильтры маршрутов в RouterOS 7 используют новый синтаксис с правилами цепочек.
# Фильтр входящих маршрутов — принимаем только default
/routing/filter/rule
add chain=bgp-in-isp rule="if (dst == 0.0.0.0/0) { accept }"
add chain=bgp-in-isp rule="reject"
# Фильтр исходящих — анонсируем только свои сети
add chain=bgp-out-isp rule="if (dst == 198.51.100.0/24) { accept }"
add chain=bgp-out-isp rule="reject"
# Применяем фильтры к connection
/routing/bgp/connection/set isp-uplink input.filter=bgp-in-isp output.filter=bgp-out-ispRouterOS CLI
iBGP и Route Reflectors
# iBGP connection к соседу в той же AS
/routing/bgp/connection/add name=ibgp-rr remote.address=10.0.0.2 remote.as=65001 local.role=ibgp address-families=ip as=65001 router-id=10.0.0.1 cluster-id=10.0.0.1 disabled=no
# cluster-id включает Route Reflector режимRouterOS CLI
BGP Communities
# Установка community для исходящих маршрутов
/routing/filter/rule/add chain=bgp-out-isp rule="if (dst == 198.51.100.0/24) { set bgp-communities 65001:100; accept }"
# Фильтрация по community
/routing/filter/rule/add chain=bgp-in-peer rule="if (bgp-communities includes 64999:666) { reject }"RouterOS CLI
Для мониторинга BGP используйте /routing/stats/print и /routing/bgp/session/print detail. В Winbox раздел Routing → BGP → Sessions показывает статус всех пиров в реальном времени.