Вопрос или проблема
Мой внутренний сервис недавно обрушился из-за неизвестного трафика из нашей локальной сети.
Симптом в том, что наблюдается значительный трафик, который нагружает сервис, и внезапно нагрузка возрастает, в результате чего сервис отключается. Трафик поступает очень быстро, всего за 1-2 минуты, так что у меня нет достаточного времени, чтобы подключиться к серверу и отследить проблему.
Итак, мой вопрос:
- есть ли команда для указания самых активных внешних IP-адресов, которые используют наибольшую пропускную способность на сервере
- чтобы я мог запустить цикл, выполняя ее каждые 10-15 секунд
Я работаю на Ubuntu 18.
Заранее спасибо.
Пожалуйста, попробуйте использовать iptraf-ng “Мониторинг IP-сети следующего поколения с интерактивным цветным интерфейсом”. Он отображает счетчик пакетов и счетчик байтов!
Ответ или решение
Дорогой пользователь,
Проблема, с которой вы столкнулись, требует внимательного подхода и использования соответствующих инструментов для мониторинга сетевого трафика. В данном ответе я предложу несколько решений для определения внешних IP-адресов, которые потребляют значительную часть пропускной способности вашего сервера на базе Ubuntu 18.
Определение источников трафика
Для начала, вам необходимо использовать инструменты, которые помогут вам анализировать сетевой трафик в реальном времени. Один из рекомендуемых инструментов — iftop. Этот инструмент отображает информацию о подключениях и показывает, какие IP-адреса генерируют самый высокий трафик. Чтобы установить и использовать iftop, выполните следующие команды:
-
Установка iftop:
sudo apt update sudo apt install iftop
-
Запуск iftop:
sudo iftop -i [имя_интерфейса]
Замените
[имя_интерфейса]
на интерфейс, который вы хотите мониторить, напримерeth0
илиens33
.
Автоматизация процесса
Для того чтобы осуществлять мониторинг каждые 10-15 секунд и собирать данные о наиболее активных внешних IP, можно использовать комбинацию iftop
, awk
и grep
. Однако, поскольку iftop отображает данные в интерактивном режиме, для автоматизации лучше использовать другие утилиты, такие как vnstat
или nload
.
Использование vnstat
-
Установите нужный пакет:
sudo apt install vnstat
-
Настройте vnstat для записи трафика:
sudo vnstat -u -i [имя_интерфейса]
-
Запустите vnstat с автоматическим обновлением:
watch -n 15 vnstat -i [имя_интерфейса]
Это позволит вам режиме реального времени видеть информацию о трафике.
Использование tcpdump для детального анализа
Если вам необходимо более детальное отслеживание, вы можете использовать tcpdump
:
sudo tcpdump -i [имя_интерфейса] -c 100 -nn | awk '{print $3}' | cut -d '.' -f 1-4 | sort | uniq -c | sort -nr | head -n 10
Эта команда соберет 100 пакетов и покажет 10 самых активных IP-адресов, которые потребляют вашу пропускную способность.
Рекомендации по дальнейшим действиям
-
Если вы обнаружите подозрительные IP-адреса, настройте ваш брандмауэр (например,
ufw
), чтобы временно заблокировать их:sudo ufw deny from [подозрительный_IP]
-
Рассмотрите возможность использования более продвинутых систем мониторинга, таких как Grafana и Prometheus, которые позволяют настраивать графики и оповещения.
Подведение итогов
Понимание источников сетевого трафика и методов его мониторинга даст вам возможность более точно управлять производительностью вашего сервера и предотвращать его сбои. Используйте предложенные инструменты и команды, чтобы начать анализировать сетевой трафик и принимать соответствующие меры по его оптимизации.
Надеюсь, эта информация поможет вам в решении вашей проблемы. Если у вас останутся вопросы, не стесняйтесь обращаться за помощью!
С уважением,
[Ваше имя]
IT-эксперт