Заканчивается трафик на сервере
Провайдер прислал предупреждение, что лимит трафика на исходе, или счёт вырос из-за переплаты за перерасход. Знакомая ситуация: заканчивается трафик на сервере, а куда он утёк — непонятно. Прежде чем платить за лишние гигабайты или ловить блокировку, нужно найти источник. Ниже пошаговое решение проблемы — как измерить расход, найти, что именно жрёт трафик, ограничить аппетиты и подобрать тариф, где о лимитах можно не вспоминать.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Первый шаг: измеряем расход прямо сейчас
Прежде чем что-то ограничивать, нужно увидеть картину: сколько уходит и в реальном времени, и суммарно за период. Для мгновенной картины удобны iftop и nload, для учёта за месяц — vnstat, который ведёт статистику по дням и месяцам:
# трафик в реальном времени по соединениям
iftop -i eth0
# суммарная нагрузка на интерфейс
nload
# статистика за месяц и по дням
apt install vnstat -y
vnstat -m
vnstat -d
vnstat особенно полезен: он показывает, набегает ли расход равномерно или был всплеск в конкретный день. Равномерный расход — это обычная нагрузка сайта, и вопрос в объёме тарифа. Резкий всплеск в один день намекает на разовое событие: атаку, массовую выгрузку, взлом с последующей рассылкой. По направлению (входящий или исходящий) тоже видно многое: аномальный исходящий трафик — тревожный признак, о нём ниже.
Полезно сразу разделить два принципиально разных вопроса, которые часто путают. Первый — «сколько трафика я расходую и укладываюсь ли в лимит», это про объём за месяц и тариф. Второй — «почему в конкретный момент канал забит и сайт тормозит», это про пиковую скорость и одновременные соединения. Лимит по объёму и ширина канала — разные ресурсы, и упереться можно в любой из них по отдельности. Определив, что именно вас беспокоит — приближение к месячному потолку или просадка скорости под нагрузкой, — вы не будете лечить одно, думая про другое, и сразу возьмётесь за нужный инструмент диагностики.
Находим, что именно жрёт трафик
Общая цифра есть — теперь ищем виновника. Трафик генерируют конкретные процессы и соединения, и их надо назвать поимённо. Инструмент nethogs показывает расход в разбивке по процессам — это как top, но для сети:
apt install nethogs -y
# кто из процессов сколько качает
nethogs eth0
# активные соединения и куда они идут
ss -tunp
Смотрите, какой процесс лидирует и куда направлены соединения. Веб-сервер, отдающий много статики, — это нормальная нагрузка. А вот неизвестный процесс, льющий гигабайты на сторонние адреса, — повод насторожиться. По адресам назначения в ss видно, легитимный это трафик (ваши пользователи, CDN, бэкапы) или подозрительный (незнакомые IP, майнинг-пулы, спам на 25-й порт). Это разделение — ключевое: дальше вы либо оптимизируете честную нагрузку, либо разбираетесь со взломом.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Заказать VPS с большим трафикомЧастая причина: сервер взломан
Резкий необъяснимый рост исходящего трафика — один из главных симптомов компрометации. Взломанный сервер становится источником спама, участником DDoS-атак на других, прокси для чужого трафика или майнером, который качает задания и отдаёт результаты. Если nethogs показывает незнакомый процесс с большим исходящим потоком, проверьте систему на взлом:
# подозрительные соединения и процессы
ss -tunap | grep ESTAB
ps auxf --sort=-%cpu | head -20
# исходящие на почтовый порт — признак спам-рассылки
ss -tn dst :25
Массовые исходящие на 25-й порт (SMTP) почти всегда означают, что сервер рассылает спам без вашего ведома. Высокая загрузка CPU незнакомым процессом плюс соединения на пулы — майнер. Если подтверждается взлом, трафик — лишь симптом, и решать надо первопричину: изолировать сервер, найти закладки, вычистить или переустановить систему. Экономить на лимите трафика, пока сервер в чужих руках, бессмысленно.
Оптимизируем легитимный трафик
Если трафик честный, но его слишком много, его можно ужать без потери качества сервиса. Самый большой резерв — отдача статики. Включите сжатие (gzip или brotli) для текстовых ресурсов: HTML, CSS, JS сжимаются в разы, и исходящий объём падает соответственно. Настройте кэширование на стороне клиента заголовками, чтобы браузеры не скачивали одно и то же повторно.
# в конфиге Nginx включаем сжатие
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
# долгий кэш для статики
location ~* \.(jpg|css|js|woff2)$ { expires 30d; }
Тяжёлую статику — видео, большие изображения, дистрибутивы — разумно вынести на CDN или в объектное хранилище: они отдадут её со своих каналов, разгрузив ваш сервер и его лимит. Оптимизируйте сами изображения: современные форматы весят кратно меньше. Проверьте, не гоняет ли лишнего фоновая синхронизация или бэкапы в неурочное время. Эти меры часто сокращают расход настолько, что вопрос перерасхода снимается сам собой.
Ставим ограничения и предупреждения
Чтобы перерасход не заставал врасплох, настройте раннее предупреждение и, при необходимости, жёсткие лимиты. vnstat можно связать с оповещением при приближении к порогу, а фаервол — с учётом и ограничением трафика по правилам. Простое отслеживание порога уже спасает от неприятного счёта в конце месяца.
Для защиты от всплесков полезно ограничить скорость отдачи или число соединений на уровне веб-сервера, чтобы одиночный «пылесос» не выкачал месячный лимит за час. Если проблема во внешних ботах и парсерах, помогает разумный rate-limiting и блокировка агрессивных IP. Главное — не оставлять расход без наблюдения: сервер, за трафиком которого никто не следит, рано или поздно преподносит сюрприз либо в виде счёта, либо в виде блокировки при исчерпании лимита.
Когда нужен тариф с большим трафиком
Иногда расход честный, оптимизация выжата, а трафика всё равно нужно много — это нормально для файловых хранилищ, стриминга, зеркал, популярных сайтов. В этом случае бороться с расходом бессмысленно, правильнее взять тариф, где трафик соответствует задаче. Здесь важна модель тарификации: у одних провайдеров жёсткий лимит с дорогим перерасходом, у других — большой или безлимитный трафик на нужной скорости порта.
Честный подход — считать заранее. Прикиньте месячный объём по типу проекта и берите тариф с запасом, чтобы не жить в постоянном страхе лимита. У MAATRIX VPS и выделенные серверы в локациях RU, US и UK предлагают щедрые лимиты трафика под разные задачи, с оплатой из России картой или криптой. Для проектов с большой отдачей — стриминг, файлообмен, зарубежная аудитория — это снимает вопрос перерасхода: вы платите за понятный тариф, а не за пугающие гигабайты сверх лимита.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Заказать VPS с большим трафикомОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Как узнать, что съедает трафик?
Установите nethogs — он показывает расход в разбивке по процессам, и ss -tunp для соединений. Так вы увидите, какой процесс и куда льёт данные: легитимная нагрузка сайта или подозрительный поток на незнакомые адреса.
Резко вырос исходящий трафик — это взлом?
Часто да. Взломанный сервер рассылает спам, участвует в атаках или майнит. Проверьте соединения на 25-й порт (ss -tn dst :25) и загрузку CPU незнакомыми процессами. Если взлом подтверждается, решать надо его, а не трафик.
Как сократить расход без потери качества?
Включите сжатие (gzip/brotli) и кэширование статики, вынесите тяжёлые файлы и видео на CDN или в объектное хранилище, оптимизируйте изображения. Это часто уменьшает исходящий объём в разы.
Что делать, если трафика честно нужно много?
Взять тариф с большим или безлимитным трафиком вместо борьбы с расходом. Прикиньте месячный объём заранее и выбирайте план с запасом, чтобы перерасход и блокировки при исчерпании лимита не заставали врасплох.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.