К содержимому
B BGPCast

Частые проблемы

Симптомы и проверки для BGP-сессии с Route-сервером BGPCast и для коннектор-агента. Каждый пункт — отдельная проблема и то, что нужно проверить на своей стороне.

Обновлено

Сессия не поднимается (Active/Connect)

Состояние Active или Connect означает, что TCP-соединение до Route-сервера не устанавливается: до BGP-обмена дело не доходит. Проверьте, что <bgpcast-ip> доступен с роутера и что исходящий TCP/179 не режется файрволом или провайдером. Если роутер стоит за NAT или CGNAT и собственного публичного адреса у него нет, прямое подключение не заработает в принципе — используйте коннектор-агент.

Shell — с любого хоста вашей сети
nc -vz <bgpcast-ip> 179

Нет established, но порт открыт

TCP поднялся, а BGP — нет: значит, отвергается OPEN. Чаще всего расходится ASN. Сверьте свой ASN и ASN BGPCast с параметрами из личного кабинета: сессия при несовпадении циклится Idle → Connect → Active и никогда не доходит до Established. Второй по частоте случай — неверный адрес соседа с вашей стороны.

MikroTik
/routing/bgp/session/print
FRR
vtysh -c 'show bgp summary'
BIRD 2
birdc show protocols all bgpcast

Established, но 0 префиксов

Сессия есть, маршрутов нет. Убедитесь, что вы подписаны хотя бы на одну категорию и что пир включён в личном кабинете: изоляция per-peer означает, что пир получает только те категории, на которые подписан именно он. Проверьте также входящий фильтр на своей стороне — он может отбрасывать префиксы до попадания в таблицу.

MikroTik
/routing/bgp/session/print
FRR
vtysh -c 'show bgp ipv4 unicast neighbors <bgpcast-ip> received-routes'
BIRD 2
birdc show route protocol bgpcast

Сессия флапает

Сессия то поднимается, то падает. Две типичные причины. Первая: облачный пир находится не на одном канале с вами, поэтому нужен multihop — без него TTL=1 и сессия застревает или рвётся. Вторая: на вашей стороне пир описан как iBGP, хотя ASN разные, — роль должна быть eBGP.

MikroTik
/routing/bgp/connection/set [find name=bgpcast] multihop=yes
FRR
neighbor <bgpcast-ip> ebgp-multihop 255
BIRD 2
multihop 255;

Агент: сессия не поднимается

Агент не принимает входящих соединений — он сам идёт наружу по HTTPS/WSS, поэтому пробрасывать порты не нужно. Проверьте токен на LAN-странице настроек и что исходящий 443 к bgpcast.cc не блокируется. Если токен верный, а сессии нет, посмотрите лог сервиса агента: там видно, дошёл ли он до аутентификации.

OpenWrt / Entware
logread -e bgpcast-agent

Агент: BGP не стартует / порт 179 занят

На Entware и OpenWrt агент слушает TCP/179 сам, а BIRD 2 по умолчанию занимает тот же порт — стартует кто-то один. Уведите BIRD на другой порт директивой local port в bird.conf, оставив 179 агенту. После правки перезапустите BIRD и убедитесь, что оба процесса живы.

bird.conf
local port 1791 as <ваш-asn>;

Агент: страница настроек недоступна

Страница настроек агента открывается только из локальной сети и намеренно не публикуется в интернет. Открывайте её с устройства в той же сети и обязательно по IP-адресу роутера, а не по внешнему имени: сохранение настроек защищено от DNS-rebind и отклонит запрос с чужим Host.

Браузер в локальной сети
http://<lan-ip-роутера>:8080

MikroTik: контейнер не стартует

Контейнеру нужен смонтированный диск (disk1) и интерфейс veth-bgpcast — без них он не поднимется. Отдельно проверьте DNS на veth-интерфейсе: без резолвера контейнер не достучится до bgpcast.cc, а в логе это выглядит как обычный таймаут. И задайте BGPCAST_AGENT_BGP_LISTEN на высокий порт, иначе агент столкнётся с BGP самого RouterOS.

MikroTik
/container/print detail

Отписались от категории, а маршруты на роутере остались

Сначала обновите вид: в WinBox список маршрутов не перерисовывается сам, и чаще всего «застрявшие» префиксы — это устаревшая картинка, а не реальное состояние таблицы. Если после обновления префиксы действительно на месте, сверьтесь со счётчиками сессии: они показывают, сколько префиксов принято прямо сейчас. Расхождение со списком в таблице означает, что withdraw не применился из-за входящей политики, которая удерживает маршрут.

MikroTik
/routing/bgp/session/print
FRR
vtysh -c 'show bgp summary'
BIRD 2
birdc show protocols all bgpcast

Один и тот же префикс приходит несколько раз

Это не ошибка. Один CIDR может входить сразу в несколько категорий, на которые вы подписаны, и приезжает отдельным анонсом от каждой — со своей BGP-community. Роутер выберет один лучший путь, а остальные останутся в adj-in. Если дубли мешают, отпишитесь от лишней категории или отфильтруйте по community.

FRR
vtysh -c 'show bgp ipv4 unicast <prefix>'
BIRD 2
birdc show route for <prefix> all

Документация вендоров

Назад в Базу знаний