// Engineering Log

BGP и OSPF на Keenetic: динамическая маршрутизация без корпоративного оборудования

Опубликовано 22.09.2026

// Быстрый маршрут

Эта статья относится к теме Сети и маршрутизация.

Когда статической маршрутизации недостаточно

В большинстве домашних и небольших офисных сетей маршруты простые: весь трафик уходит к одному провайдеру, а редкие исключения задаются статическими маршрутами. Но когда роутеров становится несколько, появляются резервные каналы и туннели между площадками, вручную прописанные маршруты начинают мешать: их нужно менять при каждом изменении сети, а при отказе канала они не перестраиваются сами.

Протоколы динамической маршрутизации решают это автоматически: роутеры обмениваются сведениями о сетях и сами перестраивают маршруты при изменениях.

BGP и OSPF: чем они отличаются

BGP (Border Gateway Protocol) — протокол маршрутизации между автономными системами, на нём держится связность интернета. В небольших сетях его используют для обмена маршрутами между площадками через VPN-туннели и для подключения к двум провайдерам с собственным адресным пространством. BGP работает поверх TCP (порт 179), соседей задают явно, а решения о маршрутах принимаются по политикам, а не по «скорости» канала.

OSPF (Open Shortest Path First) — протокол внутри одной сети. Роутеры сами находят соседей, строят общую карту сети и выбирают кратчайший путь по стоимости интерфейсов. При отказе канала маршруты перестраиваются без участия администратора, поэтому OSPF удобен для нескольких роутеров в офисе или на связанных площадках.

Как это устроено на Keenetic

В официальном списке компонентов KeeneticOS 5.x протоколов BGP и OSPF нет. Динамическую маршрутизацию на Keenetic поднимают через OPKG/Entware — среду, которая позволяет ставить на роутер пакеты Linux на USB-накопитель или, на моделях с KeeneticOS 3.7 и новее, во встроенную память. Архив установщика Entware выбирается по архитектуре процессора роутера: mipsel, mips или aarch64.

Как получить BGP и OSPF на Keenetic: четыре пути

1. BIRD из Entware — готовые пакеты

В репозитории Entware для всех архитектур Keenetic есть BIRD 2 и BIRD 3 (на сентябрь 2026 года — bird2 версии 2.18). Это современный маршрутизирующий демон с поддержкой BGP и OSPF, который ставится одной командой:

bash
opkg update
opkg install bird2 bird2c

Пакет кладёт конфигурацию в /opt/etc/bird.conf и скрипт запуска /opt/etc/init.d/S70bird, а birdc — консоль для просмотра состояния. Минимальная конфигурация для одного eBGP-соседа в туннеле выглядит так:

router id 10.255.0.2;

protocol device { }

protocol direct {
    ipv4;
    interface "br0";          # сегмент LAN: имя сверьте командой ip -4 addr
}

protocol kernel {
    ipv4 {
        export where source = RTS_BGP;   # в ядро — только маршруты из BGP
    };
}

filter lan_out {
    if net ~ [ 192.168.10.0/24 ] then accept;
    reject;
}

filter from_upstream {
    if net ~ [ 10.0.0.0/8{8,24}, 172.16.0.0/12{12,24} ] then accept;
    reject;
}

protocol bgp upstream {
    local 10.255.0.2 as 65010;
    neighbor 10.255.0.1 as 65001;
    ipv4 {
        import filter from_upstream;
        export filter lan_out;
    };
}

Для большинства задач на Keenetic это лучший вариант: пакет готовый, демон лёгкий, синтаксис фильтров гибкий. Минус — синтаксис BIRD не похож на Cisco, к нему придётся привыкнуть.

2. Quagga из Entware — готовые пакеты, но устаревшие

В том же репозитории есть Quagga 1.2.4 с отдельными демонами zebra, bgpd, ospfd и оболочкой vtysh, синтаксис которой похож на Cisco и FRR:

bash
opkg install quagga-zebra quagga-bgpd quagga-vtysh

Конфигурация лежит в /opt/etc/quagga/ (zebra.conf, bgpd.conf), запуск — /opt/etc/init.d/S50quagga: скрипт стартует те демоны, для которых есть файл конфигурации. Проект Quagga больше не развивается — последние изменения в его репозитории датированы февралём 2018 года, — поэтому для новых установок это запасной вариант.

3. FRR — только собственная сборка

Готовых пакетов FRR в репозитории Entware нет ни для одной архитектуры, и команда opkg install frr не сработает. Рецепт сборки FRR 10.4.1 в исходниках Entware есть, но он перенесён из OpenWrt без адаптации: пути /etc/frr и /usr/sbin, скрипт запуска в формате OpenWrt. На Keenetic всё стороннее живёт в /opt, поэтому перед сборкой рецепт нужно доработать. Как это сделать и что учесть — в практической статье «BGP на Keenetic».

4. FRR на отдельной машине рядом с роутером

Самый надёжный путь: поднять FRR на небольшом Linux-сервере, виртуальной машине или мини-ПК в той же сети, а на Keenetic оставить подключение к интернету, NAT и статический маршрут к этому узлу. FRR там ставится из пакетов дистрибутива, обновляется штатно и не зависит от флешки роутера.

Общие оговорки

  • Маршруты в ядре. Сторонний демон записывает маршруты прямо в таблицу ядра Linux, а KeeneticOS управляет маршрутизацией сам и о них не знает: в веб-интерфейсе их не видно. Документация Keenetic такую связку не описывает, поэтому после каждого изменения проверяйте ip route, что маршруты на месте и трафик идёт по ним.
  • Пароль BGP (TCP MD5). Аутентификация сессии по паролю требует поддержки TCP MD5 в ядре роутера. Есть ли она в ядре вашей модели, заранее не известно — проверяйте на стенде; внутри защищённого туннеля без пароля можно обойтись.

Где это оправдано

  • Связь нескольких площадок через VPN. Офисы соединены туннелями WireGuard или GRE, а BGP или OSPF сами сообщают соседям о новых подсетях. Добавили сеть в одном офисе — остальные узнают о ней без ручных маршрутов.
  • Несколько роутеров внутри сети. OSPF автоматически выберет обходной путь, если один из каналов между роутерами пропадёт.
  • Лабораторный стенд. Изучить BGP и OSPF в связке с VyOS, MikroTik или оборудованием Cisco на недорогом роутере.

Где проще обойтись без них

Для двух провайдеров без собственных адресов и номера автономной системы BGP не нужен. Keenetic умеет держать несколько подключений с приоритетами и функцией Ping Check: при отказе основного канала роутер сам переключится на резервный. Как устроено резервирование выхода в интернет и когда действительно нужен BGP — в статье «Резервирование каналов связи: выход в интернет».

Если в сети предполагается серьёзная маршрутизация, её надёжнее вынести на отдельный Linux-сервер или виртуальную машину с FRR (путь 4), а роутеру оставить подключение к интернету и NAT.

Ограничения и безопасность

  • Производительность. Демон маршрутизации работает на процессоре роутера. Для обмена десятком внутренних маршрутов этого достаточно, для полной таблицы интернета — нет.
  • Не открывайте TCP 179 в интернет. Соседство BGP устанавливают внутри туннелей или локальной сети, а порт на внешнем интерфейсе закрывают межсетевым экраном.
  • Фильтруйте маршруты. Принимайте от соседа только ожидаемые сети и отдавайте только свои — иначе ошибка на одной площадке разойдётся по всем.
  • Сохраняйте конфигурацию отдельно. Настройки пакетов Entware живут вне основной конфигурации роутера и не восстанавливаются вместе с ней.

Итог

Keenetic не заменяет корпоративный маршрутизатор, но для небольшой распределённой сети или учебного стенда динамической маршрутизации через Entware достаточно. Главное — понимать, что это дополнительная среда поверх системы роутера: её нужно отдельно настраивать, обновлять и сохранять.

Нужна отказоустойчивая сеть на Keenetic?

Настрою BGP/OSPF, резервирование каналов и маршрутизацию между офисами. Разберусь с вашей топологией и сделаю так, чтобы переключение работало само.

Написать в Telegram →

// Похожая задача

Если у вас похожая ситуация

Эта статья относится к одной из рабочих тем. Можно продолжить чтение по теме, перейти на главную, чтобы понять, чем я занимаюсь, или сразу открыть услуги.

Тема статьи

Сети и маршрутизация

MikroTik, VPN, маршрутизация, DNS, BGP, доступ и проблемы связности.

Часто с этим приходят

  • Поднять VPN и безопасный доступ в офис или облако
  • Починить маршрутизацию, DNS или нестабильный канал
  • Настроить MikroTik, firewall и внешние подключения

// Следующий шаг

Если вам нужна не только статья, а помощь по этой теме, удобнее сразу перейти в услугу. Главная и подборка материалов остаются рядом.

Открыть услуги

// Contact

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Написать в Telegram

Отвечаю в течение рабочего дня (03:00–13:00 GMT)

Или оставьте заявку здесь:

Подтвердите, что вы не бот.

Написать и получить быстрый ответ