диагностика сети

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 07 сен 2023, 11:51


В этом кратком руководстве показано, где в сетевом потоке Linux расположены некоторые из наиболее часто используемых и цитируемых параметров sysctl/network. Оно было во многом вдохновлено иллюстрированным руководством по сетевому стеку Linux и многими сообщениями Марека Майковски.
Ничего супер нового ... но очень хорошая подборка по инструментам диагностирования (и управлению даже) сети :!:
Иногда люди ищут культовые значения sysctl карго-культа, которые обеспечивают высокую пропускную способность и низкую задержку без каких-либо компромиссов и которые работают в любом случае. Это нереально, хотя мы можем сказать, что новые версии ядра по умолчанию очень хорошо настроены. На самом деле, вы можете ухудшить производительность, если испортите настройки по умолчанию.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 07 сен 2023, 11:52

Дополнительные инструменты:

Код: Выделить всё

olej@R420:~$ aptitude search iputils
i   iputils-arping                                                       - инструмент для отправки ICMP echo запросов на ARP-адрес
p   iputils-clockdiff                                                    - Measure the time difference between networked computers
i   iputils-ping                                                         - инструменты для проверки достижимости узлов в сети
i   iputils-tracepath                                                    - инструменты для трассировки сетевого пути к удалённому узлу

Код: Выделить всё

olej@R420:~$ apt content iputils-arping
/.
/usr
/usr/bin
/usr/bin/arping
/usr/share
/usr/share/doc
/usr/share/doc/iputils-arping
/usr/share/doc/iputils-arping/changelog.Debian.gz
/usr/share/doc/iputils-arping/copyright
/usr/share/doc/iputils-arping/NEWS.Debian.gz
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/arping.8.gz

Код: Выделить всё

olej@R420:~$ apt content iputils-tracepath
/.
/usr
/usr/bin
/usr/bin/tracepath
/usr/share
/usr/share/doc
/usr/share/doc/iputils-tracepath
/usr/share/doc/iputils-tracepath/changelog.Debian.gz
/usr/share/doc/iputils-tracepath/copyright
/usr/share/doc/iputils-tracepath/NEWS.Debian.gz
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/tracepath.8.gz

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 07 сен 2023, 11:58

Olej писал(а):
07 сен 2023, 11:52
Дополнительные инструменты:

Код: Выделить всё

olej@R420:~$ arping --help
arping: неверный ключ — «-»

Usage:
  arping [options] <destination>

Options:
  -f            quit on first reply
  -q            be quiet
  -b            keep on broadcasting, do not unicast
  -D            duplicate address detection mode
  -U            unsolicited ARP mode, update your neighbours
  -A            ARP answer mode, update your neighbours
  -V            print version and exit
  -c <count>    how many packets to send
  -w <timeout>  how long to wait for a reply
  -i <interval> set interval between packets (default: 1 second)
  -I <device>   which ethernet device to use
  -s <source>   source ip address
  <destination> dns name or ip address

For more details see arping(8).

Код: Выделить всё

olej@R420:~$ arping -c3 192.168.1.138
ARPING 192.168.1.138 from 192.168.1.14 eno1
Unicast reply from 192.168.1.138 [90:1B:0E:2B:FE:3A]  4.730ms
Unicast reply from 192.168.1.138 [90:1B:0E:2B:FE:3A]  3.909ms
Unicast reply from 192.168.1.138 [90:1B:0E:2B:FE:3A]  3.929ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 07 сен 2023, 12:31

Olej писал(а):
07 сен 2023, 11:52
Дополнительные инструменты:

Код: Выделить всё

olej@R420:~$ host ya.ru
ya.ru has address 77.88.55.242
ya.ru has address 5.255.255.242
ya.ru has IPv6 address 2a02:6b8::2:242
ya.ru mail is handled by 10 mx.yandex.ru.
Это традиционный ICMP:

Код: Выделить всё

olej@R420:~$ traceroute 5.255.255.242
traceroute to 5.255.255.242 (5.255.255.242), 30 hops max, 60 byte packets
 1  GPON (192.168.1.3)  3.462 ms  3.361 ms  3.368 ms
 2  10.0.53.1 (10.0.53.1)  4.625 ms  4.633 ms  4.577 ms
 3  172.16.1.254 (172.16.1.254)  4.626 ms  4.601 ms  4.593 ms
 4  194-242-96-153.pitline.net (194.242.96.153)  4.573 ms  6.107 ms  4.513 ms
 5  gw0.g50.kv.pitline.net (185.43.248.106)  12.061 ms  12.067 ms  12.029 ms
 6  te0-7-0-5.208.agr21.kbp01.atlas.cogentco.com (149.6.190.205)  12.004 ms  15.344 ms  15.302 ms
 7  be3852.rcr71.kbp01.atlas.cogentco.com (154.54.72.17)  13.461 ms be3854.rcr72.kbp01.atlas.cogentco.com (154.54.72.49)  13.189 ms  11.482 ms
 8  be2672.ccr22.bts01.atlas.cogentco.com (154.54.72.130)  29.690 ms  28.106 ms  28.068 ms
 9  be2988.ccr51.vie01.atlas.cogentco.com (154.54.59.86)  30.013 ms  28.080 ms  28.053 ms
10  be2974.ccr21.muc03.atlas.cogentco.com (154.54.58.5)  35.865 ms be3462.ccr22.muc03.atlas.cogentco.com (154.54.59.182)  35.840 ms be2974.ccr21.muc03.atlas.cogentco.com (154.54.58.5)  37.513 ms
11  be2960.ccr42.fra03.atlas.cogentco.com (154.54.36.253)  42.055 ms be2959.ccr41.fra03.atlas.cogentco.com (154.54.36.53)  43.745 ms  43.720 ms
12  be2845.rcr22.fra06.atlas.cogentco.com (154.54.56.190)  43.665 ms  61.678 ms be2846.rcr22.fra06.atlas.cogentco.com (154.54.37.30)  41.807 ms
13  149.11.21.114 (149.11.21.114)  41.797 ms  43.449 ms  40.256 ms
14  * * vla-32z1-ae2.yndx.net (93.158.172.19)  62.124 ms
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
Tracepath и Traceroute: В чем разница?
Обе команды создают карту сети и отображают возможные маршруты пакетов и транзитные задержки от источника к месту назначения.
...
Tracepath отслеживает путь к указанному пункту назначения с помощью UDP-пакетов.

Код: Выделить всё

olej@R420:~$ tracepath 5.255.255.242
 1?: [LOCALHOST]                      pmtu 1500
 1:  GPON                                                  3.540ms 
 1:  GPON                                                  3.339ms 
 2:  10.0.53.1                                             5.508ms 
 3:  172.16.1.254                                          5.274ms 
 4:  194-242-96-153.pitline.net                            5.310ms 
 5:  gw0.g50.kv.pitline.net                               11.312ms 
 6:  te0-7-0-5.208.agr21.kbp01.atlas.cogentco.com         13.009ms 
 7:  be3852.rcr71.kbp01.atlas.cogentco.com                12.259ms 
 8:  be2429.ccr21.bts01.atlas.cogentco.com                29.823ms 
 9:  be3463.ccr52.vie01.atlas.cogentco.com                29.661ms 
10:  be2974.ccr21.muc03.atlas.cogentco.com                38.313ms 
11:  be2960.ccr42.fra03.atlas.cogentco.com                40.320ms 
12:  be2845.rcr22.fra06.atlas.cogentco.com                40.989ms 
13:  no reply
14:  no reply
15:  no reply
16:  no reply
17:  no reply
18:  no reply
19:  no reply
20:  no reply
21:  no reply
22:  no reply
23:  no reply
24:  no reply
25:  no reply
26:  no reply
27:  no reply
28:  no reply
29:  no reply
30:  no reply
     Too many hops: pmtu 1500
     Resume: pmtu 1500 

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 07 сен 2023, 12:40

Olej писал(а):
07 сен 2023, 12:31
Tracepath отслеживает путь к указанному пункту назначения с помощью UDP-пакетов.
Это локальная сеть:

Код: Выделить всё

olej@R420:~$ tracepath -6 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
 1?: [LOCALHOST]                        0.054ms pmtu 65536
 1:  R420                                                  0.145ms reached
 1:  R420                                                  0.111ms reached
     Resume: pmtu 65536 hops 1 back 1 

Код: Выделить всё

olej@R420:~$ tracepath -6 ::1
 1?: [LOCALHOST]                        0.056ms pmtu 65536
 1:  ip6-localhost                                         0.096ms reached
 1:  ip6-localhost                                         0.177ms reached
     Resume: pmtu 65536 hops 1 back 1 
А вот как это работает с Yggdrasil сетью IPv6:

Код: Выделить всё

olej@R420:~$ host ygg.linux-ru.lib
ygg.linux-ru.lib has IPv6 address 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771

Код: Выделить всё

olej@R420:~$ tracepath -6 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
 1?: [LOCALHOST]                        0.049ms pmtu 53049
 1:  no reply
 2:  no reply
 3:  no reply
 4:  no reply
 5:  no reply
 6:  no reply
 7:  no reply
 8:  no reply
 9:  no reply
10:  no reply
11:  no reply
12:  no reply
13:  no reply
14:  no reply
15:  no reply
16:  no reply
17:  no reply
18:  no reply
19:  no reply
20:  no reply
21:  no reply
22:  no reply
23:  no reply
24:  no reply
25:  no reply
26:  no reply
27:  no reply
28:  no reply
29:  no reply
30:  no reply
     Too many hops: pmtu 53049
     Resume: pmtu 53049 
P.S. И, хотя Yggdrasil - это IPv6 over IPv4, но:

Код: Выделить всё

olej@R420:~$ tracepath -4 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
tracepath: 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: Семейство адресов не поддерживается для данного имени узла

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 07 сен 2023, 13:39

Olej писал(а):
07 сен 2023, 11:51
Ничего супер нового ... но
Network tools for testing and monitoring
- iperf3 - network throughput
...
- vegeta - HTTP load testing tool
- netdata - system for distributed real-time performance and health monitoring
...
- vegeta - HTTP load testing tool
...
Изображение
...
- netdata - system for distributed real-time performance and health monitoring
Изображение

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 21 сен 2023, 11:10

Из хороших новых (судя по версии) инструментов диагностики сети - mtr.
olej@R420:~$ man mtr
NAME
mtr - a network diagnostic tool
...
DESCRIPTION
mtr combines the functionality of the traceroute and ping programs in a single
network diagnostic tool.
...
О-о-о-о-очень полезное свойство :!: :
...

Код: Выделить всё

INTERACTIVE CONTROL
       mtr can be controlled while it is running with the following keys:
         ?|h     help
         p       pause (SPACE to resume)
         d       switching display mode
         e       toggle MPLS information on/off
         n       toggle DNS on/off
         r       reset all counters
         o str   set the columns to display, default str='LRS N BAWV'
         j       toggle latency(LS NABWV)/jitter(DR AGJMXI) stats
         c <n>   report cycle n, default n=infinite
         i <n>   set the ping interval to n seconds, default n=1
         f <n>   set the initial time-to-live(ttl), default n=1
         m <n>   set the max time-to-live, default n= # of hops
         s <n>   set the packet size to n or random(n<0)
         b <c>   set ping bit pattern to c(0..255) or random(c<0)
         Q <t>   set ping packet's TOS to t
         u       switch between ICMP ECHO and UDP datagrams
         y       switching IP info
         z       toggle ASN info on/off
         q       exit

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 21 сен 2023, 11:20

Olej писал(а):
21 сен 2023, 11:10
хороших
Это прямая статистика к форуму linux-ru.ru:

Код: Выделить всё

olej@R420:~$ mtr -c 300 -T4 linux-ru.ru -r
Start: 2023-09-21T10:47:25+0300
HOST: R420                        Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- GPON                      32.7%   300  7297. 721.8   2.9 7303. 2072.3
  2.|-- 10.0.53.1                  0.0%   300    3.8   5.8   3.7  18.6   1.7
  3.|-- 172.16.1.254               0.0%   300    5.5   6.1   4.1  17.5   2.1
  4.|-- 31-202-12-165-kh.maxnet.u  0.0%   300    5.4   8.0   4.6  42.7   4.6
  5.|-- port-channel1.core3.kbp1. 15.0%   300   12.4 1401.  10.9 7306. 2153.9
  6.|-- port-channel3.core2.kbp1. 10.7%   300  7189. 1522.  10.9 7312. 2160.6
  7.|-- port-channel7.core2.waw1. 54.7%   300  7327. 2456.  24.3 7327. 2762.4
  8.|-- port-channel2.core3.ber1.  0.3%   300   32.4 439.7  31.5 7253. 1186.5
        port-channel10.core1.ams1.he.net 
  9.|-- port-channel1.core2.ams1. 20.0%   300   42.0 992.4  41.1 7403. 1789.7
        port-channel10.core1.ams1.he.net 
 10.|-- port-channel1.core2.ams1. 13.3%   300  3064. 550.6  41.1 7307. 1338.4
        80.249.213.103                   
 11.|-- 80.249.213.103             0.0%   300   70.9  74.1  67.8  97.1   4.7
        5.187.73.94                      
 12.|-- 5.187.73.94                0.0%   300   78.5  96.7  75.5 121.0  18.6
        178.210.33.139                   
 13.|-- 178.210.33.139            16.3%   300  112.8 1655. 112.4 7429. 2668.1
        comp131-10.2day.kz               
 14.|-- comp131-10.2day.kz        41.7%   300  7239. 3113. 121.5 7425. 2859.1
        LAG11.GRT01.SNBAV.ALM            
 15.|-- VLAN1020.ALM-C02-ZTE.SNBA 24.0%   300  130.2 959.6 123.8 7407. 1940.3
        LAG11.GRT01.SNBAV.ALM            
 16.|-- comp13-186.tnsplus.kz      0.0%   300  124.6 189.0 124.1 3168. 345.6
        VLAN1020.ALM-C02-ZTE.SNBAV.ALM   
 17.|-- comp13-186.tnsplus.kz      0.0%   300  125.0 126.1 122.7 172.9   4.6
        85.29.163.106                    
 18.|-- 85.29.163.106              0.0%   300  125.2 136.5 122.4 297.9  25.9
        195.93.153.4                     
 19.|-- 1168949-cu51160.tw1.ru     0.0%   300  126.8 136.3 123.2 290.9  24.3
        195.93.153.4                     
Видно сомнительные места, где теряется под 50% трафика...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 21 сен 2023, 11:22

Olej писал(а):
21 сен 2023, 11:20
Это прямая статистика к форуму linux-ru.ru:
А можно - реверсная статистика: зайдя по SSH на linux-ru.ru, и оттуда к одному из активных публичных хостов РФ:

Код: Выделить всё

olej@277938:~$ mtr -c 100 -T4 rustv.live -r
Start: 2023-09-21T11:11:34+0300
HOST: 277938.local                Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 185.146.2.233              0.0%   100   10.6  17.0   0.8 134.5  27.5
  2.|-- 195.93.153.1               0.0%   100    0.5   1.1   0.4  21.4   2.8
  3.|-- 195.93.153.126             0.0%   100  1007.  11.1   0.4 1007. 100.7
  4.|-- 45.66.25.17                0.0%   100    0.7   0.9   0.6   7.8   0.8
  5.|-- 185.217.60.20              0.0%   100   37.3  37.5  36.7  49.3   1.9
  6.|-- m9-r5.inet2.ru             0.0%   100   56.0  57.9  55.6  87.1   4.1
  7.|-- de-cix-frankfurt.as13335. 20.0%   100  3123. 1440.  91.1 7363. 1969.0
  8.|-- 172.71.248.3               0.0%   100   93.5  97.9  90.4 124.9   6.4
  9.|-- 188.114.96.1               0.0%   100   96.4  95.6  90.7 107.5   3.5

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

диагностика сети

Непрочитанное сообщение Olej » 21 сен 2023, 11:29

Olej писал(а):
21 сен 2023, 11:10
инструментов диагностики сети
Olej писал(а):
21 сен 2023, 11:22
реверсная статистика
Но его нужно найти и установить:

Код: Выделить всё

olej@277938:~$ mtr -c 100 -T4 rustv.live
-bash: mtr: команда не найдена

Код: Выделить всё

olej@R420:~$ apt contains mtr | grep mtr$
mtr-tiny: /usr/bin/mtr
mtr-tiny: /usr/share/bash-completion/completions/mtr

Код: Выделить всё

olej@R420:~$ aptitude search mtr-tiny
i   mtr-tiny                                         - полноэкранный traceroute на основе ncurses
Там где его нет устанавливаем:

Код: Выделить всё

olej@277938:~$ sudo apt install mtr-tiny
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Следующие НОВЫЕ пакеты будут установлены:
  mtr-tiny
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 64,4 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 156 kB.
Пол:1 http://mirror.timeweb.ru/debian buster/main amd64 mtr-tiny amd64 0.92-2 [64,4 kB]
Получено 64,4 kB за 0с (144 kB/s)
Выбор ранее не выбранного пакета mtr-tiny.
(Чтение базы данных … на данный момент установлено 48974 файла и каталога.)
Подготовка к распаковке …/mtr-tiny_0.92-2_amd64.deb …
Распаковывается mtr-tiny (0.92-2) …
Настраивается пакет mtr-tiny (0.92-2) …
Обрабатываются триггеры для man-db (2.8.5-2) …

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 30 гостей