MikroTik Log: bgp,error connection rejected by remote BGP peer — Решение
Локальный маршрутизатор отправляет TCP SYN запрос на порт 179, но получает сброс соединения (TCP RST) или отклонение:
bgp,error connection rejected by remote BGP peer <IP>bgp,error TCP connection failed: Connection refusedbgp,warning MD5 signature mismatch or missing on incoming packet- Состояние BGP сессии не выходит из статуса
ConnectилиActive.
1. Проверка пароля аутентификации (TCP MD5 Signature)
Самая частая причина отклонения входящего соединения BGP со стороны удаленного пира — несовпадение или отсутствие ключа TCP MD5. Проверьте и заново задайте пароль аутентификации:
/routing bgp connection set [find name="bgp-peer"] md5-key="MyComplexBgpPass123!"2. Корректировка исходного IP-адреса (Update-Source / Local Address)
Если BGP сессия строится между Loopback-интерфейсами или через несколько физических линков, удаленный маршрутизатор отклонит соединение, если пакет придет с IP-адреса физического интерфейса, а не согласованного IP:
/routing bgp connection set [find name="bgp-peer"] local.address=10.255.255.1 remote.address=10.255.255.23. Настройка eBGP Multihop (TTL)
По умолчанию eBGP требует прямого L2 соединения (TTL пакета равен 1). Если пир находится через несколько хопов (например, за Loopback или GRE-туннелем), удаленный узел сбросит пакет. Включите Multihop:
/routing bgp connection set [find name="bgp-peer"] multihop=yes ebgp-ttl=2554. Проверка доступности порта через /tool fetch или traceroute
/tool traceroute address=10.255.255.2
/ip firewall filter print where chain ~ "output|forward" Частые вопросы (FAQ)
Почему BGP соединение зависает в статусе Active?
Статус Active означает, что маршрутизатор активно пытается инициировать TCP-соединение на порт 179 к удаленному пиру, но пир сбрасывает запросы (TCP RST) или не отвечает из-за Firewall / неверного Update Source.
Как работает аутентификация TCP MD5 в BGP?
К каждому отправляемому TCP-сегменту BGP добавляется опция TCP Option 19 (MD5 digest), которая подписывает весь заголовок псевдослучайной последовательностью. Если хэши не сходятся на стороне приемника, ядро ОС отбрасывает пакет до попадания в BGP демон.
Нужно ли указывать local.role в RouterOS v7?
Да, в RouterOS v7 рекомендуется явно указывать local.role=ebgp (для внешних соседей) или local.role=ibgp (для внутренних), чтобы корректно применялись правила обработки AS-PATH.
Как проверить, установлен ли TCP сокет BGP сессии?
Выполните команду /ip/service print или проверьте таблицу активных соединений: /ip firewall connection print where dst-address ~ ":179".