суббота, 23 декабря 2023 г.

Работа с сетью в Linux

 


ping # Пинг сетевого ресурса. Например, : ping google.ru ;

ifconfig # Утилита настройки сети. Примеры:

— ifconfig # Показать параметры всех активных сетевых интерфейсов;

— ifconfig -a # Показать все сетевые интерфейсы;

— ifconfig eth0 up # Запустить сетевой интерфейс eth0;

— ifconfig eth0 down # Отключить сетевой интерфейс eth0;

— ifconfig eth0 hw ether 00:01:02:03:04:05 # Смена MAC адреса;

— ifconfig eth0 192.168.1.1 netmask 255.255.255.0 # Назначить интерфейсу eth0 IP-адрес а так же маску подсети;


— ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0 # Задать дополнительный IP адрес сетевому интерфейсу eth0;

iwlist scan # просканировать эфир на предмет, доступности беспроводных точек доступа;

iwconfig # Утилита настройки беспроводных сетевых интерфейсов.

— iwconfig wlan0 # Показать конфигурацию беспроводного сетевого интерфейса wlan0;

— iwconfig wlan0 mode ad-hoc # Указываем тип сети — ad-hoc;

— iwconfig wlan0 channel 2 # Указываем частотный канал;

— iwconfig wlan0 essid inet # Указываем имя сети;

route # Настройка маршрутов. Примеры:

— route -n # Выводит на экран таблицу маршрутизации;

— route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 # добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с IP-адресом 192.168.1.1 (для удаления меняем add на del);

netstat # Отображает текущие сетевые соединения.

- netstat -tup # Отобразить активные сетевые соединения:  ;

— netstat -an | grep LISTEN # Показывает список всех открытых портов;

— netstat -anp -udp -tcp | grep LISTEN # Посмотреть список приложений, которые открывают порты;

ethtool # Информация о текущем режиме сетевого соединения и поддерживаемых. Примеры:


- ethtool eth0 отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения;

— ethtool -s eth0 speed 100 duplex full autoneg off # Принудительно задать скорость сетевому интерфейсу 100Mbit и режим Full duplex и отключить автоматическое определение;

tcpdump # Утилита сканирования сетевого трафика. Пример: tcpdump tcp port 80 отобразить весь трафик на TCP-порт 80;

iptables # Утилита настройки файервола;

ssh # Подключение к удаленному компьютеру по ssh. Например: ssh 192.168.1.3

wget # Утилита закачки. wget -c http://www.example.com/file.iso загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии;


whois # Узнать информацию о домене, пример: whois google.com ;

dig # Команда проверки доменных имён.

Наиболее часто используемые команды iptables:

 1️⃣ Команда используется для отображения текущих правил таблицы фильтрации пакетов.


iptables -L


2️⃣ Команда используется для отображения текущих правил таблицы преобразования сетевых адресов (NAT).


iptables -t nat -L


3️⃣ Команда добавляет правило в таблицу INPUT, которое разрешает все входящие TCP-пакеты на порту 80.


iptables -A INPUT -p tcp --dport 80 -j ACCEPT


4️⃣ Команда добавляет правило в таблицу FORWARD, которое разрешает все пакеты UDP на порту 53 (DNS-трафик).


iptables -A FORWARD -p udp --dport 53 -j ACCEPT


5️⃣ Команда добавляет правило в таблицу OUTPUT, которое разрешает все исходящие TCP-пакеты на порту 22 (SSH-трафик).


iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT


6️⃣ Команда добавляет правило в таблицу INPUT, которое блокирует все входящие TCP-пакеты на порту 22 (SSH-трафик).


iptables -A INPUT -p tcp --dport 22 -j DROP


7️⃣ Команда используется для добавления правила в таблицу nat, которое маскирует IP-адрес источника при отправке пакетов через интерфейс eth0.


iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


8️⃣ Команда добавляет правило в таблицу FORWARD, которое разрешает все пакеты, пересылаемые между интерфейсами eth0 и eth1.


iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT


9️⃣ Команда добавляет правило в таблицу INPUT, которое разрешает все входящие пакеты на интерфейсе loopback (lo).


iptables -A INPUT -i lo -j ACCEPT


1️⃣0️⃣ Команда используется для отображения номеров сетевых интерфейсов вместе с текущими правилами таблицы фильтрации пакетов.


iptables -L -n


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

Установка локального сервера кеширования DNS на Linux

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

Установка локального сервера кеширования DNS на Linux

Как кэширующий DNS-сервер может пригодиться?

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

Эта идея может показаться бесполезной. Подумаешь, какие-то там секунды. Но если DNS сервера провайдера тратят много времени на разрешение имени, то в результате падает скорость Интернет серфинга. Например, домашняя страница новостного канала MSNBC для корректной работы обращается более чем к 100 уникальным доменам. Даже если на запрос тратится одна десятая секунды, в итоге получается 10 секунд ожидания, что по нынешним меркам слишком много.

Локальный кэширующий DNS увеличивает скорость не только дома или в офисе, он также помогает работе серверов. Например, у вас есть почтовый сервер с анти-спам фильтром, который выполняет очень много DNS запросов. Локальный кэш намного увеличить скорость его работы.

И наконец, system-resolved поддерживает новейшие стандарты вроде DNSSEC и DNSoverTLS или DoT. Эти технологии увеличивают безопасность при работе в Интренет.


Какой локальный кэширующий сервер выбрать?

В этом руководстве будет использован сервер systemd-resolved. Эта утилита является частью набора управления системой systemd. Если в вашей системе используется systemd, а большинство дистрибутивов Linux используют это, то в системе уже установлен systemd-resolved, но не запущен. Большинство систем не используют эту утилиту.

systemd-resolved запускает небольшой локальный кэширующий DNS-сервер, который мы настроим на запуск при загрузке системы. Затем мы изменим конфигурацию всей системы так, чтобы DNS запросы шли на локальный сервер.


Как проверить используется ли systemd-resolved?

В некоторых дистрибутивах, например Ubuntu 19.04, по умолчанию используется systemd-resolved.

Если у вас уже запущен systemd-resolved, тогда не нужно что-то настраивать в системе. Но нужно проверить на корректность утилит управления сетевыми настройками, такие как NetworkManager, так как они могут игнорировать системные настройки сети.

Перед тем как перейти к следующему разделу проверьте запущен ли в вашей системе systemd-resolved:

$ resolvectl status

Если в ответ получите сообщение ниже, значит в системе не настроен systemd-resolved:

$ resolvectl status
Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.

И наоборот, если на выходе видите что-то подобное, то systemd-resolved уже работает:

Global
       LLMNR setting: yes
MulticastDNS setting: yes
  DNSOverTLS setting: opportunistic
      DNSSEC setting: allow-downgrade
    DNSSEC supported: no
  Current DNS Server: 1.1.1.1
         DNS Servers: 1.1.1.1
                      1.0.0.1

Включение и настройка systemd-resolved

Отдельно устанавливать systemd-resolved не нужно, так как этот сервис является частью systemd. Всё что нужно сделать это запустить его и добавить в автозагрузку. Для включения данной службы введите команду ниже:

$ sudo systemctl start systemd-resolved.service

Далее нужно ввести следующую команду, чтобы добавить службу в автозапуск.

$ sudo systemctl enable systemd-resolved.service

И наконец нужно прописать DNS сервера, куда будет обращаться локальный сервер для разрешения имен. Есть много разных сервисов, но приведённые ниже самые быстрые, бесплатные и оба поддерживают DNSSEC и DoT:

Google Public DNS

8.8.8.8
8.8.4.4

Cloudflare Public DNS

1.1.1.1
1.0.0.1

Для этого откройте конфигурационный файл systemd-resolved любым текстовым редактором:

$ sudo nano /etc/systemd/resolved.conf

Отредактируйте строку, которая начинается на:

#DNS=

И пропишите одну из вышеуказанных пар. Мы используем Cloudflare Public DNS:

DNS=1.1.1.1 1.0.0.1

Сохраните изменения и перезапустите службу systemd-resolved:

$ sudo systemctl restart systemd-resolved.service

Итак, systemd-resolved уже запущен и готов для выполнения быстрых и безопасных DNS запросов, как только мы настроим систему соответствующим образом.


Настройка системы для использования systemd-resolved

Есть несколько путей настройки системы на использование локального DNS сервера. Мы рассмотрим два наиболее используемых метода. Первый – рекомендуемый метод, второй конфигурация в режиме совместимости. Разница в том, как будет обрабатываться файл /etc/resolv.conf.

В файле /etc/resolv.conf содержатся IP адреса серверов разрешения имен, которые используются программами. Программы при необходимости разрешения доменного имени обращаются к этому файлу в поисках адресов серверов разрешения имен.

Итак, первый метод конфигурации заключается в создании символьной ссылки на /run/systemd/resolve/stub-resolv.conf. В этом случае файл /etc/resolv.conf управляется службой systemd-resolved.

Это может вызвать проблемы в том случае, если другие программы пытаются управлять файлом /etc/resolv.conf. Режим совместимости оставляет /etc/resolv.conf не тронутым, позволяя программам управлять им. В этом режиме, в настройках программ, управляющих файлом /etc/resolv.conf в качестве системного сервера разрешения имен должен быть указан IP 127.0.0.53.


Конфигурация в рекомендуемом режиме

При этом режиме конфигурация проводится вручную. Сначала нужно удалить или переименоваться оригинальный файл /etc/resolv.conf. Лучше переименовать, чтобы при необходимости можно было использовать информацию в нем

.
$ sudo mv /etc/resolv.conf /etc/resolv.conf.original

Затем создаем символьную ссылку:

$ sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

И наконец перезапускаем службу systemd-resolved:

$ sudo systemctl restart systemd-resolved.service

Настройка в режиме совместимости

В режиме совместимости, нужно убедиться, что локальный сервер разрешения имен system-resolved запущен и используется системными службами. Откройте файл /etc/resolv.conf любым редактором:

$ sudo nano /etc/resolv.conf

Удалите все строки, которые содержать ключевое слово nameserver и добавьте одну единственную строку:

nameserver 127.0.0.53

Этот файл мажет быть изменён любой программой. Чтобы предотвратить это нужно настроить программы так, чтобы в качестве DNS они использовали адрес 127.0.0.53.


Отладка systemd-resolved

Посмотреть, как система выполняет DNS запросы после внесённых изменений сложно. Самый эффективный метод – это включить режим отладки для службы systemd-resolved, а затем просмотреть файл логов.

systemd-resolved можно перевести в режим отладки созданием специального служебного файла, в котором содержатся настройки отладки. Делается это следующей командой:

$ sudo systemctl edit systemd-resolved.service

Вставьте в файл следующие строки:

[Service]
Environment=SYSTEMD_LOG_LEVEL=debug

После этого служба systemd-resolved автоматический перезапуститься. Откройте второй терминал и просмотрите логи в journald:

$ sudo journalctl -f -u systemd-resolved

Строка, которая содержит слова “Using DNS server” показывает, какой DNS сервер используется для разрешения имён. В нашем случае это DNS сервера Cloudflare

Using DNS server 1.1.1.1 for transaction 19995.

Слова “Cache miss” в начале строки означает, что для данного домена нет закэшированной информации:

Cache miss for example.com IN SOA

И наконец слова “Positive cache” в начале строки означает, что systemd-resolved уже запрашивал информацию об этом домене и теперь ответы возвращает из кэша:

Positive cache hit for example.com IN A

Не забудьте отключить режим отладки, так как в это время создается большой файл логов. Сделать это можно командой:

$ sudo systemctl edit systemd-resolved.service

а затем удалить добавленные выше две строки.


Использование защищенных DNS запросов

systemd-resolved один из немногих DNS серверов, которые поддерживает DNSSEC и DNSoverTLS. Эта два механизма позволяют убедиться, что полученная DNS информация подлинная (DNSSEC) и он не был изменён по пути (DoT).

Эти функции легко включаются редактированием основного конфигурационного файла system-resolved:

$ sudo nano /etc/systemd/resolved.conf

Измените файл следующим образом:

DNSSEC=allow-downgrade
DNSOverTLS=opportunistic

Сохраните изменения и перезапустите службу systemd-resolved.

$ sudo systemctl restart systemd-resolved.service

Пока прописанные DNS сервера поддерживают эти две функции все DNS запросы будут защищены. DNS сервера Google и CloudFlare поддерживают эти механизмы защиты.


Заключение

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

воскресенье, 17 декабря 2023 г.

Как сделать системный вид окна на Linux в Яндекс Барузере

По умолчанию Браузер не использует системную рамку окна в Linux и изменяет дизайн элементов управления. Если вы хотите вернуть стандартный вид окна и элементов управления Linux:

Наберите в Умной строке адрес browser://flags
Наберите в строке поиска флаг #enable-system-frame
Включите опцию System window controls.
Перезапустите Браузер и проверьте результат.

четверг, 14 декабря 2023 г.

Настройка коммутатора D-Link

 

Подключение через серийный порт RS-232

После подключения компьютера к интерфейсу RS-232 перейти в каталог /dev/ и посмотреть название виртуальной консоли для usb, скорее всего оно будет отображаться как /dev/ttyUSB0
Для удобства настройки серийного порта в linux ubuntu и подключения к консоли коммутатора установить:

apt install minicom putty

Настроить серийный порт в linux ubuntu, установить значения 9600 8N1

sudo minicom -s

Запустить putty и выставить такие же параметры для серийного порта

sudo putty

По умолчанию для входа в консоль коммутатора D-Link DES-320028 логин и пароль пустые, поэтому: Enter Enter Enter
В консоли коммутатора изменить ip-адрес интерфейса управления коммутатора на ip который будет соответствовать локальной сети, а также указать шлюз по умолчанию для данной сети:

config ipif System vlan default ipaddress 192.168.1.10/24
create iproute default 192.168.1.254
show switch

Для последующей настройки можно использовать удобный веб-интерфейс управления коммутатором, который будет доступен по адресу http://192.168.1.10 Если неудобно использовать провод и есть необходимость использовать консоль, тогда можно подключиться через telnet

Справка по командам

#Вызов справки по командам
?
#команды конфигурирования
config ?
#вывод команд для просмотра существующих настроек
show ?
Сетевые настройки управления коммутатором
#изменение ip адреса интерфейса управлением коммутатора
config ipif System vlan default ipaddress 192.168.1.10/24
#шлюз по умолчанию
create iproute default 192.168.1.254
#Информация об IP интерфейсе 
show ipif
#Вывод основных настроек коммутатора(mac, ip, geteway ...)
show switch
#создание учетной записи
Добавление пользователей

Три уровня привилегий пользователя по убыванию: Admin, Operator, User

create account admin dlink
DES-3200-28:5#show account        
Command: show account

Current Accounts:
Username            Access Level
------------------  ------------
dlink               Admin       

Total Entries : 1
#отключить режим администратирования
logout
#включить режим администратирования
login
#смена пароля пользователя dlink
config account dlink
#удаление пользователя dlink
delete account dlink
Баннер и время

#изменение баннера приветствия
config greeting_message
#дата и время
config time 20102022 21:57:50
#временная зона
config time_zone operator + hour 3 min 0
#проверить настройки: дата-время/зона
show time

Есть возможность синхронизировать время используя протокол SNTP

enable sntp

Корректное время необходимо для поиска ошибок в журналах

Конфигурация портов

#Выбор портов (один из 24, диапазон 1-5, all т.е. все)
config ports all ... действие (состояние, скорость, режим ...)
#Текущее состояние диапазона портов
show ports description 1-2 
#Включить/отключить диапазон портов (disable/enable)
config ports 1-2 state disable
#Просмотр состояние порта
show ports 5 description
#Ограничить скорость передачи, дуплексный режим, изучение MAC-адресов, управление потоком, поднять интерфейс 
config ports 20 speed 10_full learning enable state enable flow_control enable
#Ошибки портов
show error ports 1
#Статистика передачи пакетов для порта 1
show packet ports 1
Сохранение, сброс настроек, конфигурация, прошивка

#сброс настроек до заводских (не все) и не перезагрузится
reset config
#сброс настроек до заводских(полностью)  после перезагрузится
reset system
#сброс настроек частично
reset
#сохранить изменения в RAM
save
#перезагрузить
reboot
#Загрузка прошивки ( в конце название файла, название прошивки, номер прош. )
download firmware_fromTFTP 192.168.1.110 3528.had image_id 1
#Загрузка конфигурации с TFTP сервера
download cfg_fromTFTP 192.168.1.110 /cfg/setting.txt
#Выгрузка конфигурации на TFTP сервер
upload cfg_toTFTP 10.48.74.121 /cfg/setting.txt
#версия прошивки
show firmware information
#выбор прошивки в памяти (boot_up - выбрать, delete - удалить прош-ку)
config firmware   image_id 2 boot_up
Таблица коммутации, журнал логов

#Таблица коммутации (vlan, mac, port, type)
show fdb
#Просмотр логов коммутатора
show log
Замена прошивки

Получить актуальную прошивку можно на официальном сайте производителя
В коммутаторе есть текущая прошивка image_id 1 и возможно осталась старая прошивка image_id 2
Перед тем как загрузить прошивку, необходимо удалить старую прошивку image_id 2 и сбросить конфигурацию коммутатора


reset config
switch-mipk:5#config firmware   image_id 2 delete
Command: config firmware image_id 2 delete

Are you sure want to delete image_id 2 ?(y/n)

Please wait, deleting image ........... Done. 
Success. 
DES-3200-28:5#show firmware information 
Command: show firmware information

Image ID   : 1(Boot up firmware)
Version    : 1.83.B008
Size       : 4111052 Bytes
Update Time: 0000/00/80 04:12:12
From       : 192.168.100.1
User       : admin(Telnet)

Image ID   : 2(Empty)
DES-3200-28:5#download firmware_fromTFTP 192.168.1.6 DES-3200R_1.91.B06.had imag
e_id 2
Command: download firmware_fromTFTP 192.168.1.6 DES-3200R_1.91.B06.had image_id 2

Connecting to server................... Done. 
Download firmware...................... Done.   Do not power off !!
Please wait, programming flash......... Done. 
Success.   

DES-3200-28:5#show firmware information 
Command: show firmware information

Image ID   : 1(Boot up firmware)
Version    : 1.83.B008
Size       : 4111052 Bytes
Update Time: 0000/00/80 04:12:12
From       : 192.168.100.1
User       : admin(Telnet)

Image ID   : 2
Version    : 1.91.B006
Size       : 4291456 Bytes
Update Time: 0000/00/15 16:17:17
From       : 192.168.1.6
User       : Anonymous(Telnet)

DES-3200-28:5#config firmware   image_id 2 boot_up
Command: config firmware image_id 2 boot_up

Success.

Обновление прошивки вступит в силу только после сохранения и перезагрузки:

DES-3200-28:5#save
Command: save

Saving all configurations to NV-RAM...... Done. 
Success.   

DES-3200-28:5#reboot 
Command: reboot

Are you sure you want to proceed with the system reboot?(y/n)

Посмотреть текущую прошивку можно командой:

#show switch
Выгрузка и загрузка конфигурации

#Просмотр текущей конфигурации
#show config current_config
#слить файл на tftp сервер:
DES-3200-28:5#upload cfg_toTFTP 192.168.1.6 conf.cfg
Command: upload cfg_toTFTP 192.168.1.6 conf.cfg
Connecting to server................... Done. 
Upload configuration................... Done. 
Success.
#Загрузить файл:
DES-3200-28:5#download cfg_fromTFTP 192.168.1.6 conf.cfg
Command: download cfg_fromTFTP 192.168.1.6 conf.cfg
Connecting to server................... Done. 
Download configuration................. Done.
Выгрузка log файлов
DES-3200-28:5#upload log_toTFTP 192.168.1.6 test.log
Command: upload log_toTFTP 192.168.1.6 test.log

Connecting to server................... Done. 
Upload log............................. Done. 
Success. 

Чтобы файл (конфигурация или логи) загрузился на tftp сервер, необходимо создать его на tftp сервере и разрешить права на запись

Конфигурация Q-in-Q на коммутаторе D-link DES-3200-26-28

 Q-in-Q или Double VLAN ( стандарт IEEE 802.1ad ) позволяет добавлять в маркированные кадры второй ( внешний ) тег vlan IEEE 802.1Q ( для провайдера ), что позволяет сохранять vlan id клиента внутри сети провайдера.


Существует две реализации функции Q-in-Q: Port-based Q-in-Q ( на основе порта коммутатора провайдера ) и Selective Q-in-Q ( на основе данных внутреннего тега клиента )
Реализация на основе Selective Q-in-Q позволяет дополнительно присваивать приоритет для обработки кадра
Порты граничных коммутаторов, которые используют функцию Q-in-Q используют два типа порта:
UNI (User-to-Network Interface) - для клиентских сетей
NNI (Network-to-Network Interface) - для других граничных коммутаторов
На портах UNI граничного коммутатора задаются правила соответствия CVLAN идентификаторам SP-VLAN (Service Provider).
Если кадр является маркированным, приоритет внешнего тега по умолчанию равно значению приоритета внутреннего тега. Если приоритет в полученном кадре отсутствует, тогда будет использоваться приоритет входного порта UNI
При передаче кадра из сети провайдера в клиентскую сеть внешний тег удаляется граничным коммутатором

Port-based Q-in-Q

Q-in-Q используется в сети провайдеров услуг. Во внутренней сети провайдера определяются порты NNI, для внешних портов коммутаторов ( обычно L3 ) провайдера и для коммутаторов уровня доступа определяются порты UNI


#Активировать Q-in-Q
enable qinq
#Удалить порты по умолчанию
config vlan default delete 1-24
#Создать vlan
create vlan 100 tag 100
create vlan 200 tag 200
#Назначить порты доступа для созданных vlan
config vlan 100 add untagged 1-12
config vlan 200 add untagged 13-24
#Определить порты uplink в созданных vlan 
config vlan 100 add tagged 25-27
config vlan 200 add tagged 25-27
#Определить роли портов vlan
config qinq ports 1-24 role uni

вторник, 5 декабря 2023 г.

Тестирование пропускной способности канала связи с помощью Iperf

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

Задачу тестирования пропускной способности обычно необходимо решать в тех ситуациях, когда нужно проверить потенциально возможную максимальную скорость передачи информации от одного хоста до другого хоста с учётом всего промежуточного оборудования. Или же, например, в сценариях тестирования производительности клиентов за VPN.

Общая схема тестируемого сценария следующая:

В качестве операционной системы здесь будет использоваться Linux Ubuntu 22.04.

Настройка на стороне сервера

Обновим метаинформацию по репозиториям и установим iperf3:

sudo apt update
sudo apt install -y iperf3

Запустим сервер iperf на прослушивание подключения от клиентов по всем доступным IP-адресам:

sudo iperf3 -s 0.0.0.0

Убедитесь, что порт TCP/5201 не закрыт брандмауэром.

Теперь можно переходить к тестированию со стороны клиентов.

Запуск iperf на клиенте Linux

Обновим метаинформацию по репозиториям и установим iperf3:

sudo apt update
sudo apt install -y iperf3

Запустим тест производительности канала связи до сервера iperf. Тестирование буем выполнять в течении одной минуты:

sudo iperf3 -c 10.10.10.71 -V -t 60
Linux task 5.15.0-41-generic #44-Ubuntu SMP Wed Jun 22 14:20:53 UTC 2022 x86_64
Control connection MSS 1448
Time: Sat, 16 Sep 2023 10:43:27 GMT
Connecting to host 10.10.10.71, port 5201
      Cookie: kmijzbq5bc2oiync7ftnwbdetvmep76gfcb7
      TCP MSS: 1448 (default)
[  5] local 10.10.10.35 port 44954 connected to 10.10.10.71 port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 60 second test, tos 0
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  89.2 MBytes   748 Mbits/sec  652   90.5 KBytes       
[  5]   1.00-2.00   sec  74.3 MBytes   623 Mbits/sec  291   53.7 KBytes       
[  5]   2.00-3.00   sec  89.4 MBytes   750 Mbits/sec  613    228 KBytes       
[  5]   3.00-4.00   sec   174 MBytes  1.46 Gbits/sec  375    346 KBytes       
[  5]   4.00-5.00   sec   289 MBytes  2.42 Gbits/sec  100    525 KBytes 
<...>
[  5]  57.00-58.00  sec   119 MBytes   996 Mbits/sec  618    338 KBytes       
[  5]  58.00-59.00  sec  91.2 MBytes   765 Mbits/sec  1064    198 KBytes       
[  5]  59.00-60.00  sec   104 MBytes   870 Mbits/sec  490   91.9 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.00  sec  6.75 GBytes   966 Mbits/sec  28107             sender
[  5]   0.00-60.00  sec  6.75 GBytes   966 Mbits/sec                  receiver
CPU Utilization: local/sender 12.0% (0.0%u/12.0%s), remote/receiver 4.4% (0.0%u/4.4%s)
snd_tcp_congestion cubic
rcv_tcp_congestion cubic

iperf Done.
root@task:/home/roman# 

Как видно по результатам выше – средняя скорость передачи данных по каналу связи немного не дотягивает до одного гигабита в секунду.

Запуск iperf на клиенте Windows

Для запуска клиента iperf на Windows предварительно необходимо загрузить дистрибутив.

Распаковываем архив:

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

iperf3.exe -c 10.10.10.71 -V -t 60
C:\tmp\iperf-3.1.3-win64>iperf3.exe -c 10.10.10.71 -V -t 60
iperf 3.1.3
CYGWIN_NT-10.0 DESKTOP-QQRNKJQ 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Time: Sat, 16 Sep 2023 10:51:44 GMT
Connecting to host 10.10.10.71, port 5201
      Cookie: DESKTOP-QQRNKJQ.1694861504.261775.29
      TCP MSS: 0 (default)
[  4] local 10.10.10.45 port 51794 connected to 10.10.10.71 port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 60 second test
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  60.8 MBytes   509 Mbits/sec
[  4]   1.00-2.00   sec  97.4 MBytes   817 Mbits/sec
[  4]   2.00-3.00   sec   105 MBytes   880 Mbits/sec
[  4]   3.00-4.00   sec   124 MBytes  1.04 Gbits/sec
[  4]  54.00-55.00  sec  81.0 MBytes   680 Mbits/sec
[  4]  55.00-56.00  sec  86.4 MBytes   723 Mbits/sec
[  4]  56.00-57.00  sec   109 MBytes   915 Mbits/sec
[  4]  57.00-58.00  sec   124 MBytes  1.04 Gbits/sec
[  4]  58.00-59.00  sec   104 MBytes   875 Mbits/sec
[  4]  59.00-60.00  sec  63.2 MBytes   530 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-60.00  sec  4.85 GBytes   694 Mbits/sec                  sender
[  4]   0.00-60.00  sec  4.85 GBytes   694 Mbits/sec                  receiver
CPU Utilization: local/sender 30.0% (1.8%u/28.2%s), remote/receiver 2.9% (0.0%u/2.9%s)

iperf Done.

C:\tmp\iperf-3.1.3-win64>


Тестирование пропускной способности канала связи завершено.