Для отладки существующих BGP-сессий мы будем использовать инструмент TCPDUMP, а также, другие полезные инструменты.
tcpdump -i any host <BGP PEER> and tcp port 179 -n -i ens192
Где
Далее будем использовать следующую таблицу Флагов:
Флаги | Описание |
[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>
Где
В данной статье хотелось бы затронуть мобильную тематику в популярной RouterOS, а именно подключение 3G/4G(LTE) модемов к роутерам компании MikroTik
Продолжить Чтение...Развернутая инструкция по настройке nginx, Gunicorn и SSL для вашего Django проекта в продакшене.
Продолжить Чтение...Кратчайшая минималистичная инструкция по сборке кластера на ESXI и немного про резервирование
Продолжить Чтение...