Как анализировать использование сети (iftop, nload, vnstat) на VPS?

В этой статье разберём на примере Ubuntu/Debian:

  • как установить и запустить iftop, чтобы увидеть «кто с кем и сколько качает»;
  • как мониторить текущую загрузку входящего/исходящего канала через nload;
  • как смотреть помесячную и подневную статистику трафика через vnstat;
  • какие типичные ошибки встречаются и как их исправить.

Подготовка: проверяем интерфейс и права

Все утилиты работают с конкретным сетевым интерфейсом (например, eth0, ens18, enp1s0). Сначала узнаём его имя:

ip a

Ищем интерфейс, у которого есть ваш публичный IP или IP локальной сети провайдера. Пример живого вывода:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:00:00:87:52:99 brd ff:ff:ff:ff:ff:ff
    altname enp1s0
    inet 83.220.165.21/24 brd 83.220.165.255 scope global eth0
       valid_lft forever preferred_lft forever

В примерах дальше будем использовать интерфейс eth0. На другом хостинге он может называться по-другому (ens18, enp0s3, enp1s0 и т.п.) — у себя подставляйте своё имя интерфейса.

Важно: большинство команд нужно запускать через sudo, иначе будет либо «Permission denied», либо урезанная информация.

Утилита iftop — кто сейчас грузит сеть

iftop показывает текущие соединения и их скорость: кто с кем общается и сколько трафика идёт в обе стороны.

Установка iftop

sudo apt update
sudo apt install -y iftop

Запуск для нужного интерфейса

sudo iftop -i eth0

Откроется «топ» по сети в реальном времени. По строкам видно:

  • слева — локальный IP/порт, справа — удалённый IP/порт;

  • в центре — текущая скорость (по умолчанию в Kbps/Mbps);

  • вверху — средняя скорость за 2, 10 и 40 секунд;

  • внизу — суммарный входящий/исходящий трафик.

Полезные горячие клавиши в iftop:

  • h — подсказка (help);

  • t — переключать режим отображения (по хостам/по портам);

  • P — показывать порты;

  • S/D — сортировка по исходящему/входящему трафику;

  • q — выход.

Чтобы смотреть только трафик для конкретного IP/подсети, можно применить фильтр:

sudo iftop -i eth0 -F 83.220.165.21/32
Мониторинг сети с помощью iftop

Типичная проблема: если видишь «interfaces not found» или пустой экран — проверь, что правильно указал -i, и что на интерфейсе eth0 (или своём) действительно есть активный трафик.

Утилита nload — график загрузки входящего/исходящего канала

nload показывает отдельно входящий (in) и исходящий (out) трафик в виде графика и чисел. Это удобно, когда нужно быстро понять, «забит» ли канал целиком.

Установка nload

sudo apt update
sudo apt install -y nload

Запуск для конкретного интерфейса

sudo nload eth0

В окне видно:

  • Incoming — скорость входящего трафика (текущее, среднее, максимум, всего);

  • Outgoing — исходящий трафик;

  • график за последние секунды.

Если интерфейсов несколько, можно запустить режим выбора:

sudo nload

и переключаться между интерфейсами стрелками ← →.

Параметр -m включает режим отображения нескольких интерфейсов сразу:

sudo nload -m
Мониторинг трафика с nload

Практика: удобно держать nload открытым во втором окне SSH, когда выполняешь нагружающие операции (бэкап, rsync, импорт БД) и хочешь понять, упирается ли всё в канал.

Утилита vnstat — статистика трафика за дни и месяцы

iftop и nload показывают «здесь и сейчас». А вот vnstat ведёт историю, собирая данные из /proc и сохраняя их в собственной БД. С его помощью можно посмотреть: сколько трафика ушло сегодня, вчера, за месяц, по каждому интерфейсу.

Установка vnstat

sudo apt update
sudo apt install -y vnstat

Инициализация интерфейса

После установки нужно «подключить» интерфейс к vnstat (в нашем случае — eth0):

sudo vnstat -u -i eth0

Включаем и запускаем службу (чтобы статистика собиралась автоматически):

sudo systemctl enable --now vnstat
sudo systemctl status vnstat

Важно: vnstat не считает трафик в прошлое — статистика начнёт копиться с момента инициализации.

Просмотр статистики

Общий обзор по интерфейсу:

vnstat -i eth0

Статистика по дням:

vnstat -i eth0 -d

Статистика по месяцам:

vnstat -i eth0 -m

Статистика по часам:

vnstat -i eth0 -h
Статистика трафика с vnstat

Совет: удобно раз в месяц сохранять вывод vnstat -m куда-нибудь в заметки — так можно отслеживать, как растёт нагрузка, и заранее планировать апгрейд тарифов.

Комбинируем инструменты: когда какой использовать

  • iftop — когда «внезапно всё стало медленным» и нужно быстро понять, кто прямо сейчас забивает канал: какой IP/порт, какое соединение.

  • nload — когда хочется видеть общую загрузку канала в реальном времени: подходит для наблюдения во время бэкапов, миграций, нагрузочного тестирования.

  • vnstat — когда нужно понять, когда и сколько трафика было потрачено: сегодня, вчера, помесячно. Полезно при спорных вопросах с хостером или клиентами.

Типичный сценарий:

  1. Сначала смотришь nload, чтобы понять, действительно ли канал загружен.

  2. Если да — включаешь iftop и ищешь конкретные IP/порты, которые дают максимум трафика.

  3. После этого смотришь историю через vnstat: давно ли такие всплески, укладывается ли всё в тариф.

Типичные ошибки и как их исправить

  • iftop: interface not found / no suitable interfaces

    • проверь ip a — возможно, интерфейс называется не eth0, а ens18, enp1s0 или как-то ещё;

    • запускай явно: sudo iftop -i eth0 (или с нужным именем интерфейса).

  • nload показывает нули, хотя трафик есть

    • убедись, что смотришь нужный интерфейс (иногда трафик идёт через tun0 или wg0, если используешь VPN);

    • попробуй sudo nload без параметров и посмотри список интерфейсов.

  • vnstat: Interface «eth0» not found in database

    Значит, интерфейс не инициализирован:

    sudo vnstat -u -i eth0
    sudo systemctl restart vnstat
  • vnstat показывает очень маленькие цифры, хотя трафика было много

    • утилита считает трафик только с момента инициализации;

    • проверь, что служба vnstat действительно работает: sudo systemctl status vnstat.

  • Permission denied / must be root при запуске

    Большинство таких утилит используют низкоуровневый доступ к сети, поэтому запускаем с sudo:

    sudo iftop -i eth0
    sudo nload eth0
    sudo vnstat -i eth0

Итоги

  • Разобрали, как посмотреть текущие соединения и их скорость через iftop.

  • Научились контролировать загрузку входящего/исходящего канала в реальном времени с помощью nload.

  • Настроили vnstat для долгосрочной статистики трафика по дням и месяцам.

  • Разобрали частые ошибки: неправильный интерфейс, отсутствие прав, пустая статистика.

Вывод: связка iftop + nload + vnstat закрывает почти все задачи по базовому анализу сетевой активности на VPS — от «кто прямо сейчас качает» до «сколько трафика ушло за месяц».

Оставить комментарий