• [ GEEKHERO:2021 ]
  • Категории
  • Files 42

Воистину гений

СТАТЬЯ ИЛИ СОН?
Отладка BGP-сессий с помощью TCPDUMP | GEEKHERO
root 25 мая 2021 г. 14:23 | обновлен 29 мая 2021 г. 11:21

Отладка BGP-сессий с помощью TCPDUMP

Иконка категории
В категории "Телекоммуникации"

Метки: linux, bgp, traceroute, tracert, ping, peer, session, telnet, debug, tcpdump


Для отладки существующих BGP-сессий мы будем использовать инструмент TCPDUMP, а также, другие полезные инструменты.

tcpdump -i any host <BGP PEER> and tcp port 179 -n -i ens192

Где

  • -i any: прослушивать все интерфейсы, чтобы увидеть, есть ли какой то трафик.
  • -n: отображать IP адреса вместо имен хостов.
  • -i ens192 - прослушивать интерфейс ens192
  • использовать tcp порт  BGP 179

Далее будем использовать следующую таблицу Флагов:

Флаги Описание
[R] Маршрутизатор BGP-соседа сбрасывает соединение
[F] Маршрутизатор BGP-соседа закрывает соединение
[FP]
[P] Маршрутизатор BGP-соседа отправляет данные
[S] с обеих сторон Маршрутизатор BGP-соседа отвечает на SYN
[S] с вашей стороны Маршрутизатор BGP-соседа не отвечает на SYN
[.] (ACK) Сессия установлена и работает исправно

 

Обратим внимание на содержимое таблицы:

Показатель Работоспособности BGP-сессии: при начале передачи имеются SYN с обеих сторон, далее частые [.] и [P] :

12:58:40.236884 IP 172.26.26.12.bgp > 10.10.17.250.45102: Flags [.], seq 279078166:279078167, ack 1648981682, win 32726, options [md5 valid,eol], length 1: BGP
12:58:40.236925 IP 10.10.17.250.45102 > 172.26.26.12.bgp: Flags [.], ack 1, win 229, options [nop,nop,md5 valid], length 0
12:58:41.238743 IP 172.26.26.12.bgp > 10.10.17.250.45102: Flags [.], seq 0:1, ack 1, win 32726, options [md5 valid,eol], length 1: BGP
12:58:41.238809 IP 10.10.17.250.45102 > 172.26.26.12.bgp: Flags [.], ack 1, win 229, options [nop,nop,md5 valid], length 0
12:58:42.814686 IP 172.26.26.12.bgp > 10.10.17.250.45102: Flags [P.], seq 1:24, ack 1, win 32726, options [md5 valid,eol], length 23: BGP

Если наблюдаем SYN только с Вашей стороны или частые [F] или [FP], а также, [R] то стоит запустить еще один TCPDUMP, но в конце следует добавить -vv , чтобы узнать подробности по трафику.
Флаг SYN только с Вашей стороны выглядит так:

14:16:50.830362 IP 10.10.17.250.11480 > 172.26.26.12.bgp: Flags [S], seq 3375209990, win 29200, options [mss 1460,sackOK,TS val 1121324005 ecr 0,nop,wscale 7], length 0
14:16:51.832763 IP 10.10.17.250.11480 > 172.26.26.12.bgp: Flags [S], seq 3375209990, win 29200, options [mss 1460,sackOK,TS val 1121325008 ecr 0,nop,wscale 7], length 0
14:16:53.836770 IP 10.10.17.250.11480 > 172.26.26.12.bgp: Flags [S], seq 3375209990, win 29200, options [mss 1460,sackOK,TS val 1121327012 ecr 0,nop,wscale 7], length 0

Среди ошибок могут встречаться такие как: ваш BGP-сосед закрыл в Firewall, ACL 179 порт, а также, несоответствие HOLD TIMER, по умолчанию значение равняется 180 сек. (3 мин), а также, если используется шифрование сессии, ключ шифрования может быть некорректным и будет выводится следующий дамп:

15:46:34.758768 IP  172.26.26.12.bgp > 10.10.17.250.42655: Flags [P.], seq 4152894317:4152894336, ack 2955274359, win 16384, options [nop,nop,md5 invalid], length 19: BGP
15:46:34.758870 IP 10.10.17.250.42655 >  172.26.26.12.bgp: Flags [.], ack 19, win 229, options [nop,nop,md5 invalid], length 0
15:46:56.000681 IP 10.10.17.250.42655 >  172.26.26.12.bgp: Flags [P.], seq 1:20, ack 19, win 229, options [nop,nop,md5 invalid], length 19: BGP
15:46:56.118602 IP  172.26.26.12.bgp > 10.10.17.250.42655: Flags [.], ack 20, win 16384, options [nop,nop,md5 invalid], length 0

Флаг сброса соединения в дампе выглядит так:

09:43:37.121414 IP 10.10.17.250.35790 > 172.26.26.12.bgp: Flags [S], seq 2593447842, win 29200, options [mss 1460,sackOK,TS val 4051130924 ecr 0,nop,wscale 7], length 0
09:43:37.172495 IP 172.26.26.12.bgp > 10.10.17.250.35790: Flags [R.], seq 0, ack 2593447843, win 0, length 0
09:44:37.179286 IP 10.10.17.250.20263 > 172.26.26.12.bgp: Flags [S], seq 1190466867, win 29200, options [mss 1460,sackOK,TS val 4051190982 ecr 0,nop,wscale 7], length 0
09:44:37.233238 IP 172.26.26.12.bgp > 10.10.17.250.20263: Flags [R.], seq 0, ack 1190466868, win 0, length 0"

Также, для проверки, открыт ли 179 порт у BGP-соседа, можно использовать инструменты telnet и traceroute с таким синтаксисом:

traceroute -T -p 179 <BGP-PEER>

Если удаленный узел недоступен по 179 порту, то вместо хопов будут отображаться звездочки:

traceroute -T -p 179 172.26.26.12
traceroute to 172.26.26.12 (172.26.26.12), 30 hops max, 60 byte packets
 1  gateway (10.10.17.1)  0.797 ms  0.618 ms  0.592 ms
 2  10.250.56.2 (10.10.18.1)  0.217 ms  0.185 ms  0.180 ms
 3  10.250.56.129 (10.10.19.1)  0.254 ms  0.337 ms  0.258 ms
 4  10.250.56.25 (10.15.19.22)  0.460 ms  0.425 ms  0.421 ms
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Также, проверим с помощью telnet:

telnet <BGP-PEER> 179
telnet 172.26.26.12 179
Trying 172.26.26.12...

Наконец, если все вышеописанное никак не помогло, остается проверить доступность оборудования с вашего устройства, используем обычный ping:

ping -c 10 -i 0.1 <BGP-PEER>

Где 

  • -c  количество пакетов, которое следует отправить,
  • -i 0.1 - интервал между отправками пакетов

Поделиться записью


Похожие записи:

Card image cap
MikroTik 3G 4G LTE: Мобильный роутер – из LTE в PPP

В данной статье хотелось бы затронуть мобильную тематику в популярной RouterOS, а именно подключение 3G/4G(LTE) модемов к роутерам компании MikroTik

Продолжить Чтение...
Card image cap
Запуск Django сайта на nginx + Gunicorn + SSL

Развернутая инструкция по настройке nginx, Gunicorn и SSL для вашего Django проекта в продакшене.

Продолжить Чтение...
Card image cap
Собираем кластер на ESXI

Кратчайшая минималистичная инструкция по сборке кластера на ESXI и немного про резервирование

Продолжить Чтение...
Категории
Обучение и подготовка (3)
Linux (15)
Телекоммуникации (12)
Программирование (2)
Обзоры на технику (1)
Виртуализация (1)
Web-разработка (5)
Администрирование Windows (0)

Последние записи
Быстро подключаемся к серверам по SSH из терминала
28 Фев 2023
Flask в Docker+Kuberenetes
28 Авг 2022
Готовим образ Docker для Flask приложения
26 Авг 2022

Популярные метки
Copyright 2019-2021  
Обратная связь