Start typing to search across invoices, services, domains, tickets, and more...
Если вы анонсируете собственные IP-префиксы с выделенного сервера, первым делом нужно проверить состояние BGP-сессии — она должна быть в статусе Established. В этой статье показано, как проверять BGP-сессии в Linux с помощью BIRD 2 и FRRouting (FRR), что означают состояния Idle, Active, Established и как искать причину, если сессия не поднимается. Подходит для Debian/Ubuntu и CentOS/Rocky/AlmaLinux. В примерах локальная ASN — 64500, апстрим — 203.0.113.1, анонсируемый префикс — 198.51.100.0/24.
Если демон ещё не установлен, выберите один из вариантов. BIRD отличается компактной конфигурацией и удобен для анонса с одного сервера; FRR использует синтаксис в стиле Cisco, привычный сетевым инженерам.
# Debian / Ubuntu
apt install -y bird2 # or: apt install -y frr
# CentOS / Rocky / AlmaLinux
dnf install -y epel-release && dnf install -y bird # BIRD 2.x from EPEL
dnf install -y frr # or FRRoutingbirdc show protocols выводит все протоколы; для здоровой BGP-сессии в колонке Info указано Established. С параметром all видны ASN соседа, hold timer, число маршрутов и последняя ошибка, а show route export подтверждает, что префикс действительно отдаётся апстриму.
birdc show protocols
birdc show protocols all upstream1
birdc show route export upstream1
birdc show route protocol upstream1 countName Proto Table State Since Info
device1 Device --- up 2026-10-01
upstream1 BGP --- up 2026-10-01 EstablishedВыполните show bgp summary. Если в колонке State/PfxRcd число (количество полученных префиксов), сессия в Established; слова Idle, Active или Connect означают, что она не установлена. Подкоманды neighbors показывают детали, а также отданные и полученные маршруты.
vtysh -c "show bgp summary"
vtysh -c "show bgp ipv4 unicast neighbors 203.0.113.1"
vtysh -c "show bgp ipv4 unicast neighbors 203.0.113.1 advertised-routes"
vtysh -c "show bgp ipv4 unicast neighbors 203.0.113.1 routes"Обратите внимание: в свежих версиях FRR по умолчанию включён ebgp-requires-policy. eBGP-сосед без входящей и исходящей политики отображается как (Policy): сессия поднята, но маршруты не передаются. Назначьте route-map:
router bgp 64500
address-family ipv4 unicast
network 198.51.100.0/24
neighbor 203.0.113.1 route-map UPSTREAM-IN in
neighbor 203.0.113.1 route-map UPSTREAM-OUT out
exit-address-familyBIRD и FRR следуют конечному автомату BGP из RFC 4271. Эти команды покажут только текущее состояние и последнюю ошибку:
birdc show protocols all upstream1 | grep -E "BGP state|Neighbor AS|Last error"
vtysh -c "show bgp ipv4 unicast neighbors 203.0.113.1" | grep -E "BGP state|Last reset"| Состояние | Значение | Типичная причина |
|---|---|---|
| Idle | Подключение не выполняется или ожидание после сброса | Ошибка конфигурации, сосед выключен, пауза после ошибки |
| Connect | Устанавливается TCP-соединение | Сосед ещё не ответил |
| Active | TCP не удалось, повторные попытки | Нет связности по IP, заблокирован TCP 179, сосед вас не настроил |
| OpenSent / OpenConfirm | TCP есть, идёт обмен OPEN | Несовпадение ASN, неверный пароль MD5, конфликт router ID |
| Established | Сессия установлена, идёт обмен маршрутами | Норма |
Проверьте ping до соседа и доступность TCP 179, затем убедитесь, что локальный файрвол пропускает порт 179 от соседа.
ping -c 4 203.0.113.1
nc -zv 203.0.113.1 179
ss -tnp | grep ':179'# iptables (Debian / Ubuntu)
iptables -I INPUT -p tcp -s 203.0.113.1 --dport 179 -j ACCEPT
# firewalld (CentOS / Rocky / AlmaLinux)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.1" port port="179" protocol="tcp" accept'
firewall-cmd --reloadПосмотрите в журналах конкретную ошибку, например «Bad peer AS» (неверная ASN) или «Hold timer expired» (проблема канала или файрвола). После правки конфигурации можно перезапустить только эту сессию:
journalctl -u bird -n 50 --no-pager
journalctl -u frr -n 50 --no-pager
birdc restart upstream1
vtysh -c "clear bgp ipv4 unicast 203.0.113.1 soft"Проверьте, что фильтр экспорта пропускает префикс, есть route-объект в IRR и валидный ROA, а апстрим обновил фильтры. Проверьте через публичный looking glass.
Обычно TCP 179 недоступен или сосед ещё не настроен. Сверьте IP, ASN, необходимость multihop и пароль MD5 с обеих сторон.
Если вы арендуете IP или ASN у IMIDC и анонсируете их с серверов IMIDC, отправьте тикет с ASN, префиксами и требованиями к сессии — инженеры помогут с подключением.
Если проблема не решена, создайте тикет в поддержку IMIDC, работающую 24/7.