Траблшутинг BGP сессий в Cisco IOS: ошибки %BGP-5-ADJCHANGE Up / Down / Reset
- В syslog Cisco регистрируется сообщение
%BGP-5-ADJCHANGE: neighbor 198.51.100.1 Down BGP Notification sentилиHold timer expired. - Периодический разрыв BGP-сессии с падением связности маршрутов и пропаданием префиксов.
- Состояние соседа зависает в статусах
Active,OpenSentилиConnect.
1. Проверка текущего состояния BGP соседа
show ip bgp summary
show ip bgp neighbors 198.51.100.12. Проверка базовой L3 связности и MTU
Убедитесь в прохождении больших нефрагментируемых пакетов по TCP 179:
ping 198.51.100.1 source Loopback0 size 1500 df-bit
telnet 198.51.100.1 179 /source-interface Loopback03. Анализ причины падения (BGP Reason Codes)
Посмотрите причину последнего сброса сессии в секции 'Last reset':
show ip bgp neighbors 198.51.100.1 | include Last reset|Notification4. Проверка таймеров BGP и согласования параметров
configure terminal
router bgp 65001
neighbor 198.51.100.1 timers 10 30
neighbor 198.51.100.1 fall-over bfd5. Снятие отладочной трассировки (Debug)
debug ip bgp 198.51.100.1 events
debug ip bgp 198.51.100.1 keepalives Частые вопросы (FAQ)
Почему BGP-сессия зависает в состоянии Active?
Состояние Active означает, что маршрутизатор пытается инициировать TCP-соединение (порт 179), но не получает ответа. Причины: блокировка ACL/брандмауэром, отсутствие маршрута к пиру или неверный IP соседа.
Что означает 'Hold timer expired'?
Маршрутизатор не получил ни одного Keepalive или Update сообщения от соседа в течение согласованного Hold Time (по умолчанию 180 секунд). Обычно это вызвано перегрузкой канала или потерей пакетов.
Как влияет несовпадение MTU на BGP?
Сессия BGP может установиться (маленькие пакеты OPEN и Keepalive проходят), но при передаче объемного UPDATE с префиксами пакет превышает MTU и отбрасывается, вызывая разрыв сессии по таймауту.
Как применить изменения политик BGP без разрыва сессии?
Используйте механизм Route Refresh (Soft Reconfiguration): команда 'clear ip bgp <neighbor_IP> soft in' или 'out'.