пятница, 22 сентября 2023 г.

Просмотр rtsp потока с камеры в linux

1 плеер:

ffplay rtsp://123.123.123.123:1554/test


2 плеер:

mpv --http-header-fields='authstring:sOm3StrIN2==','param:3' rtsp://123.123.123.123:1554/test

среда, 20 сентября 2023 г.

Как увеличить время ожидания SSH-соединения в Linux

На сервере перейдите в файл конфигурации /etc/sshsshd_config.

sudo vi /etc/ssh/sshd_config

Например, допустим, вы определили свои параметры, как показано:

ClientAliveInterval 1200

ClientAliveCountMax 3

Значение времени ожидания будет 1200 секунд * 3 = 3600 секунд. Это эквивалентно 1 часу, что означает, что ваш ssh-сеанс будет работать в течение простоя в течение 1 часа без сброса.

После этого перезагрузите демон OpenSSH, чтобы изменения вступили в силу.

$ sudo systemctl reload sshd

вторник, 19 сентября 2023 г.

Настройка сети в CentOS 7

 

Статический IP-адрес в CentOS 7

Конфигурация сетевого интерфейса хранится в /etc/sysconfig/network-scripts в соответствующем файле с префиксом ifcfg (там же конфигурационные файлы других интерфейсов). Посмотрим на него.

# cat /etc/sysconfig/network-scripts/ifcfg-eno1 
NAME="eno1"
ONBOOT=yes
BOOTPROTO=static
HWADDR="ac:1f:6b:f6:3b:7e"
IPADDR="82.148.21.49"
NETMASK="255.255.255.0"
GATEWAY="82.148.21.1"
TYPE=Ethernet

Что можно понять из этих характеристик? Расскажем о каждом параметре:

  • NAME — имя сетевого адаптера, оно такое же, как и имя в операционной системе.
  • ONBOOT — указание на тип запуска сетевого интерфейса. При текущих настройках сетевой интерфейс запускается автоматически. В случае со значением no интерфейс нужно будет запускать вручную.
  • BOOTPROTO — указание на тип назначения IP-адреса. В текущих настройках static, но возможны опции dhcp, none или пустое значение.
  • HWADDR — переменная, хранящая MAC-адрес.
  • IPADDR — установленный на интерфейсе IP-адрес.
  • NETMASK — установленная на интерфейсе маска подсети.
  • GATEWAY — указание на шлюз.
  • TYPE — тип интерфейса. В нашем случае — Ethernet.

Отредактируем значение поля IPADDR:

# vi /etc/sysconfig/network-scripts/ifcfg-eno1 
NAME="eno1"
ONBOOT=yes
BOOTPROTO=static
HWADDR="ac:1f:6b:f6:3b:7e"
IPADDR="82.148.21.50"
NETMASK="255.255.255.0"
GATEWAY="82.148.21.1"
TYPE=Ethernet

После внесения изменений перезагрузим сетевой сервис. Иначе изменения применятся только после рестарта сервера.

# systemctl restart network

После выполнения этой команды сетевое подключение отключится. Снова выполняем подключение по SSH по новому IP-адресу и проверяем новые настройки:

# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
    inet 82.148.21.50/24 brd 82.148.21.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff

Статический IP-адрес настроен, сервер доступен по новому адресу.


Настройки DNS в CentOS 7

Чтобы настроить DNS, изменим /etc/sysconfig/network-scripts/ifcfg-eno1 и пропишем туда переменную DNS1 (если нужно добавить дополнительные DNS-серверы, допускается добавление переменных DNS2DNS3 и т.д.)

# vi /etc/sysconfig/network-scripts/ifcfg-eno1 
NAME="eno1"
ONBOOT=yes
BOOTPROTO=static
HWADDR="ac:1f:6b:f6:3b:7e"
IPADDR="82.148.21.50"
NETMASK="255.255.255.0"
GATEWAY="82.148.21.1"
TYPE=Ethernet
DNS1="82.148.21.1"

Следом перезагрузим сеть:

# systemctl restart network

По итогам перезагрузки адрес DNS-сервера должен автоматически оказаться в /etc/resolv.conf:

# grep "nameserver" /etc/resolv.conf
nameserver ”82.148.21.1”

Наличие в файле заданного DNS-сервера говорит о корректности его настройки.


Перезапуск сетевого сервиса в CentOS 7

Перезапуск сети выполняется одной командой:

# systemctl restart network

После изменения сетевых настроек и для вступления их в силу необходимо выполнить эту команду.


Изменение имени сервера (hostname) в CentOS 7

Отредактируем /etc/hostname:

# vi /etc/hostname
Curie

Сверим примененные настройки:

# hostname
Curie

Имя хоста изменено.


Настройки шлюза в CentOS 7

За соответствующие настройки отвечает переменная GATEWAY в /etc/sysconfig/network-scripts/ifcfg-eno1. Чтобы изменить адрес шлюза, достаточно изменить значение этой переменной и перезагрузить сетевую службу:

# vi /etc/sysconfig/network-scripts/ifcfg-eno1 
NAME="eno1"
ONBOOT=yes
BOOTPROTO=static
HWADDR="ac:1f:6b:f6:3b:7e"
IPADDR="82.148.21.49"
NETMASK="255.255.255.0"
GATEWAY="82.148.21.1"
TYPE=Ethernet
# systemctl restart network

Вызов команды netstat -nr вернет актуальный адрес используемого шлюза:

# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         82.148.21.1     0.0.0.0         UG        0 0          0 eno1
82.148.21.0     0.0.0.0         255.255.255.0   U         0 0          0 eno1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eno1

Таким образом мы задали адрес сетевого шлюза.


Настройки сети из консоли

Кроме модификации файлов с конфигурацией, настройки сети могут быть изменены командами в консоли. Консольные настройки выполняются для проведения тестов и будут работать только до перезагрузки системы. Для выполнения всех консольных сетевых настроек используется уже известная команда ip address (или ее сокращенная версия ip a).

Применим к eno2 новый IP-адрес и проверим:

# ip a add 10.128.106.173 dev eno2
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
    inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff
    inet 10.128.106.173/32 scope global eno2
       valid_lft forever preferred_lft forever

Изменим маску подсети и снова проверим:

# ip a change 10.128.106.173/24 dev eno2
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
    inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff
    inet 10.128.106.173/32 scope global eno2
       valid_lft forever preferred_lft forever
    inet 10.128.106.173/24 scope global eno2
       valid_lft forever preferred_lft forever

Добавим маршрут по умолчанию:

# ip r add default via 10.128.106.1

Удалим маршрут по умолчанию:

# ip r del default via 10.128.106.1

Удалим привязанный ранее IP-адрес и проверим:

# ip a del 10.128.106.173/32 dev eno2
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
    inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff

Еще раз обращаем внимание, что все приведенные в этом разделе настройки действуют до перезагрузки сервера.


Исключение IPv6 в CentOS 7

IPv6-адресация на текущий момент используется редко, хотя и было много разговоров об исчерпании емкостей адресов IPv4. Отключение IPv6 помогает экономить ресурсы и избежать путаницы. В этом разделе расскажем, как отключить на сервере поддержку этого протокола.

Начнем настройку с изменений в файле /etc/sysctl.conf. Внесем в него две дополнительных строки:

# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Следующий шаг — применение конфигурационных изменений:

# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

В /etc/sysconfig/network прибавим 2 строки:

# vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no

В конфигурационный файл /etc/default/grub к концу строки GRUB_CMDLINE_LINUX нужно добавить ipv6.disable=1

# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto spectre_v2=retpoline rd.md.uuid=f93e0283:1b54bb6c:881c4df1:a3b5cf93 rd.lvm.lv=vg0/vol-root rd.md.uuid=b3ba35a4:4f4150fb:0d1464e1:d5ab4bff rd.lvm.lv=vg0/swap nodmraid nomodeset rhgb quiet ipv6.disable=1"
GRUB_DISABLE_RECOVERY="true"

После выполнения изменений нужно сохранить файл и обновить GRUB:

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-8586236d5c0348d98a7b4f186d904d62
Found initrd image: /boot/initramfs-0-rescue-8586236d5c0348d98a7b4f186d904d62.img
done

Далее — перезагрузка сервера:

# reboot

После перезагрузки проверим конфигурацию — значения с префиксом inet6 должны пропасть:

# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
    inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet 10.128.106.173/24 brd 10.128.106.255 scope global noprefixroute dynamic eno1
       valid_lft 3419sec preferred_lft 3419sec
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff

Протокол IPv6 успешно отключен.


Несколько IP-адресов на одном интерфейсе в CentOS 7

Для настройки нескольких IP-адресов на одном интерфейсе внесем изменения в /etc/sysconfig/network-scripts/ifcfg-eno1, добавив переменные IPADDR1 и IPADDR2 и удалив IPADDR:

# vi /etc/sysconfig/network-scripts/ifcfg-eno1 
NAME="eno1"
ONBOOT=yes
BOOTPROTO=static
HWADDR="ac:1f:6b:f6:3b:7e"
IPADDR1="82.148.21.49"
IPADDR2="82.148.21.50"
NETMASK="255.255.255.0"
GATEWAY="82.148.21.1"
TYPE=Ethernet

После перезагрузки сетевого сервиса изменения вступят в силу:

# systemctl restart network

Еще один IP-адрес может понадобиться для поддержки нескольких сервисов в рамках одного сервера.


Настройки нескольких сетевых интерфейсов в CentOS 7

Команда ip a вернет состояние всех имеющихся сетевых интерфейсов:

# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
    inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet 10.128.106.173/24 brd 10.128.106.255 scope global noprefixroute dynamic eno1
       valid_lft 3419sec preferred_lft 3419sec
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff

В этом выводе можно видеть три интерфейса: служебный lo, а также интерфейсы eno1 и eno2.

В /etc/sysconfig/network-scripts в соответствующих файлах хранится конфигурация каждого интерфейса:

# ls /etc/sysconfig/network-scripts | grep 'ifcfg-eno\|ifcfg-lo'
ifcfg-eno1
ifcfg-eno2
ifcfg-lo

Для управления каждым из них вносятся значения переменных в соответствующий конфигурационный файл:

# cat /etc/sysconfig/network-scripts/ifcfg-eno2 
NAME="eno2"
ONBOOT=yes
BOOTPROTO=static
HWADDR="ac:1f:6b:f6:3b:7e"
IPADDR1="82.148.21.51"
IPADDR2="82.148.21.52"
NETMASK="255.255.255.0"
GATEWAY="82.148.21.1"
TYPE=Ethernet

Чтобы добавить новый интерфейс, достаточно создать в этой же директории соответствующий конфигурационный файл, внести в него настройки и выполнить перезапуск сетевой службы:

# cp /etc/sysconfig/network-scripts/ifcfg-eno2 /etc/sysconfig/network-scripts/ifcfg-eno3
# vi /etc/sysconfig/network-scripts/ifcfg-eno3
# systemctl restart network

Так мы создали дополнительный интерфейс.


Настройки интерфейсов в CentOS 7 через Network Manager (утилиты nmtui и nmcli)

Еще одним способом настроить сеть в CentOS 7 является настройка через утилиту Network Manager. Она может выполняться в GUI и через CLI. Для вызова графического интерфейса необходимо выполнить команду nmtui. Откроется псевдо-GUI интерфейс, в котором можно выполнять те же настройки, что и в командной строке:

Network Manager через CLI управляется при помощи утилиты nmcli. Ниже приведены команды для изменения IP-адреса, шлюза и DNS-сервера для сетевого интерфейса eno1:

# nmcli con mod eno1 ipv4.addresses 82.148.21.49/24
# nmcli con mod eno1 ipv4.gateway 82.148.21.1
# nmcli con mod eno1 ipv4.dns "8.8.8.8

Утилита Network Manager имеет широкий функционал и может использоваться как полная замена штатным инструментам для настройки сети в CentOS 7.

пятница, 1 сентября 2023 г.

Как посмотреть что грузит CPU на Mikrotik

Проверим службу, которая больше всего «отъедает» ресурсов процессор. Для этого, перейдем в раздел Tools  Profile:

Посмотреть службу, которая загружает процессор в Mikrotik

Мониторинг пропускной способности и скорости сети в Linux

 

Speedtest

Speedtest - старый фаворит. Это инструмент для проверки скорости загрузки и скачивания с использованием speedtest.net. Он реализован на Python, упакован в Apt, а также доступен с pip. Вы можете использовать его как инструмент командной строки или в скрипте Python.

Установите его с помощью:

sudo apt install speedtest-cli

Или:

sudo pip3 install speedtest-cli	

Затем запустите его с помощью команды speedtest:

speedtest
Retrieving speedtest.net configuration...
Testing from CenturyLink (65.128.194.58)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by CenturyLink (Cambridge, UK) [20.49 km]: 31.566 ms
Testing download speed................................................................................
Download: 68.62 Mbit/s
Testing upload speed......................................................................................................
Upload: 10.93 Mbit/s

Это быстрая, и пригодная для скриптов утилита, поэтому вы можете запускать его регулярно и сохранять результаты в файл или базу данных для записи скорости вашей сети с течением времени.


Fast

Fast - это услуга, предоставляемая Netflix. Его веб-интерфейс расположен на Fast.com, а интерфейс командной строки доступен через npm:

npm install --global fast-cli	

И веб-сайт, и утилита командной строки предоставляют один и тот же базовый интерфейс - это простой тест скорости, и ничего лишнего:

fast

     82 Mbps v

Команда показывает вашу скорость скачивания (download) через Интернет. Чтобы получить скорость загрузки (upload), используйте флаг -u:

fast -u

   ? 80 Mbps v / 8.2 Mbps ^

iPerf

iPerf (iPerf3) - отличный способ проверить скорость вашей локальной сети (а не скорость Интернета, как это делают два предыдущих инструмента). Пользователи Debian, Raspbian и Ubuntu могут установить его с помощью apt:

sudo apt install iperf	[Debian/Ubuntu]

yum install epel-release [RHEL/CentOS]
yum install iperf3 [RHEL/CentOS]

iPerf также доступен в Window и Mac

После установки вам понадобятся два компьютера в одной сети, чтобы использовать его (на обоих должен быть установлен iPerf). Один мы будем использовать в качестве сервера.

Узнайте IP-адрес сервера:

ip addr show | grep inet.*brd

Запустите iperf на сервере:

iperf -s

Это компьютер входящих соединений от клиентов. Теперь запустите на втором компьютере iperf с флагом -c и укажите ip-адрес сервера.

iperf -c server_address

NetHogs

NetHogs это утилита для проверки полосы пропускания, который группирует информацию по процессам. Это может быть полезно, чтобы понять кто занимает всю полосу пропускания. NetHogs входит во многие дистрибутивы. Для его установки используйте:

yum install epel-release [RHEL/CentOS]
yum install nethogs [RHEL/CentOS]

apt install nethogs [Debian/Ubuntu]

Для запуска используйте:

sudo nethogs
nethogs

Вы можете указать определенный интерфейс после команды:

sudo nethogs eth0	

Также у команды есть дополнительные параметры, такие как выбор задержки для частоты обновления -d, информации о версии -V, tracemode -t.


nload

nload позволяет отслеживать сетевой трафик и использование полосы пропускания в режиме реального времени, с большим количеством дополнительной информации, такой как: общий объем передаваемых данных, минимальное и максимальное использование сети и многое другое. Также nload строит графики входящего и исходящего трафика.

Опции nload:

  • device - выбор интерфейса
  • -a - промежуток в секундах, для подсчитывания среднего значения
  • -i - стопроцентная планка на графике пропускной способности в kBit/s
  • -m - отображение нескольких интерфейсов, без графика
  • -t - интервал обновления в миллисекундах
  • -u - режим отображения: Bit/s, kBit/s, MBit/s
nload

Для установки используйте:

sudo apt install nload [Debian/Ubuntu]

yum install epel-release [RHEL/CentOS]
um install nload [RHEL/CentOS]

Для запуска:

nload

CBM – Color Bandwidth Meter

CBM - очень простой инструмент, который отображает сетевой трафик на всех подключенных устройствах. Удобство заключается в том, что команды отображаются в нижней части терминала.

CBM

Для установки используйте команду:

sudo apt install cbm -y [Debian/Ubuntu]

yum install epel-release [RHEL/CentOS]
yum install cbm [RHEL/CentOS]

После этого просто запустите:

cbm

vnStat

vnStat - это монитор сетевого трафика, который использует статистику сетевого интерфейса, предоставляемую ядром, что означает что он не будет перехватывать трафик и в результате гарантирует низкую загрузку ЦПУ. Особенность vnStst в том, что он сохраняет все данные в собственной базе.

vnStat

vnStat также предоставляет веб-интерфейс на основе php для отображения графической статистики. Для настройки веб-интерфейса vnStat в вашей системе должны быть установлены пакеты Apachephp и php-gd.

Веб-интерфейс vnStat

Для установки используйте команду:

sudo apt install vnstat [Debian/Ubuntu]

sudo yum install epel-release [RHEL/CentOS]
sudo yum install vnstat [RHEL/CentOS]

Для запуска:

vnstat

iftop

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

iftop

Для установки используйте:

sudo apt install iftop [Debian/Ubuntu]

yum install epel-release[RHEL/CentOS]
yum install  iftop [RHEL/CentOS]

Для запуска:

sudo iftop

Будет произведен запуск с мониторингом всех интерфейсов.


slurm

slurm - это еще один инструмент мониторинга сетевой нагрузки для linux, который показывает результаты в графике ascii.

slurm

Команды для установки:

sudo apt-get install slurm [Debian/Ubuntu]

sudo yum install slurm -y [RHEL/CentOS]

Установка и использование fping в Linux

 

Что такое fping?

Fping – это инструмент, аналогичный утилите ping, но гораздо более производительный в случае, когда нам нужно сделать пинг до нескольких узлов. С fping можно использовать файлы со списком адресов или даже указывать целые диапазоны сетей с маской.


Установка

В большинстве дистрибутивов Linux пакет fping можно установить из репозиториев:

# sudo apt install fping  		[ДляDebian/Ubuntu]
# sudo yum install fping  	[Для CentOS/RHEL]
# sudo dnf install fping  	[Для Fedora 22+]
# sudo pacman -S fping    	[Для Arch Linux]

Если нужно установить из исходного пакета, то используются следующие команды:

$ wget https://fping.org/dist/fping-4.0.tar.gz
$ tar -xvf fping-4.0.tar.gz
$ cd fping-4.0/
$ ./configure
$ make && make install

Готово! Теперь посмотрим, что мы сможем сделать с помощью fping


Пинг множества адресов

Используйте команду fping, а затем через пробел укажите нужные IP адреса

# fping 192.168.1.1 192.168.1. 192.168.1.3

192.168.1.1 is alive
192.168.1.1 is unreachable
192.168.1.3 is unreachable

Пинг диапазона адресов

Используйте ключи –s и –g, после которых укажите первый и последний адрес диапазона.

# fping -s -g 192.168.0.1 192.168.0.9

192.168.0.1 is alive
192.168.0.2 is alive
ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3
ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3
ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3
ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.4
192.168.0.3 is unreachable
192.168.0.4 is unreachable

8      9 targets
       2 alive
       2 unreachable
       0 unknown addresses

       4 timeouts (waiting for response)
       9 ICMP Echos sent
       2 ICMP Echo Replies received
      2 other ICMP received

 0.10 ms (min round trip time)
 0.21 ms (avg round trip time)
 0.32 ms (max round trip time)
        4.295 sec (elapsed real time)

Пинг целой подсети

Укажите маску подсети через слеш, чтобы пропинговать всю подсеть. Ключ –r 1 указывает на то, что будет одно повторение операции

# fping -g -r 1 192.168.0.0/24

Пинг с адресами из файла

Можно записать в файл список адресов (в нашем случае мы назвали его merionfping.txt), и зачитать из него адреса для пинга

# fping < fping.txt

192.168.1.20 is alive
192.168.1.100 is alive