
У нас есть один центральный сервер, который выполняет функцию интернет-шлюза. Этот сервер подключен к интернету, и с помощью iptables мы пересылаем трафик иподелиться подключением к интернетумежду всеми компьютерами в сети. Это работает просто отлично.
Однако иногда интернет становится очень медленным. Скорее всего, один из пользователей скачивает видео или другие большие файлы. Я хочу точно определить виновника. Я думаю установить инструмент, который может контролировать сетевой трафик, проходящий через сервер, по IP. Желательно в реальном времени, а также накопленный общий (опять же по IP). Есть ли какой-нибудь инструмент, который рекомендуется для этого? Желательно что-то из репозиториев Ubuntu.
решение1
ntopвероятно, лучшее решение для этого. Он разработан для долгосрочной работы и захвата именно того, что вы ищете.
Он может показать вам, какие клиенты получают/отправляют больше всего трафика, куда они получают/отправляют, какие протоколы и порты используются и т. д.
Затем он использует веб-интерфейс для навигации и отображения этой информации.
ntop — довольно известный инструмент, поэтому я был бы весьма удивлен, если бы его не было в репозитории пакетов Ubuntu.
решение2
Чтобы увидеть использование в реальном времени по IP (точнее, по IP и порту):
sudo apt install tcptrack
sudo tcptrack -i eth0
Чтобы увидеть использование MAC-адреса в реальном времени, воспользуйтесь удобным инструментом на основе ncurses iptraf-ng
:
sudo apt install iptraf-ng
sudo iptraf-ng
(Затем выберите «Монитор станции LAN → eth0».)
Чтобы увидеть совокупный объем данных за день по IP, мне больше всего нравится ipfm
. Установите с помощью:
sudo apt install ipfm
Затем выполните настройку /etc/ipfm.conf
в соответствии с man ipfm.conf
и начните с sudo ipfm
.
решение3
ntopможет дать вам именно то, что вы просите. Он собирает данные обо всем трафике, проходящем через вашу сеть (и может собирать данные из других сетей, если у них есть устройство, настроенное на отправку данных netfow в вашу систему).
Он покажет вам каждый хост в сети, с тем, какую полосу пропускания они использовали. Он позволит вам углубиться в каждый хост и увидеть, какой тип трафика они генерируют и кому/от кого. Он позволит вам увидеть текущие установленные TCP-соединения. Вы можете потеряться на несколько дней, просматривая данные, которые он может вам предоставить.
Однако программа может потреблять много памяти, в зависимости от настроек параметров.
решение4
Вы можете проверить существующие счетчики из iptables, чтобы увидеть, есть ли что-то несоответствующее норме,
Также возможно добавлять правила учета в iptables, которые используются только для генерации счетчиков трафика. Инструмент вроде Shorewall упрощает это и имеет специальную документацию поБухгалтерский учетправила
Исследования показали, что большие буферы в маршрутизаторах могут вызывать проблемы с производительностью. Вы можете попробовать формировать трафик немного меньше пропускной способности сети. Shorewall предлагает несколько подходов к формированию трафика. Это также можно использовать для приоритизации определенных видов трафика.
Если вы определили пользователя, чье использование полосы пропускания чрезмерно, у вас есть несколько вариантов:
- Обсудите с ними проблему и напомните им о вашей политике использования;
- Блокировать доступ к сервису и/или сайту, использующему полосу пропускания;
- Ограничить трафик к сервису и/или сайту, использующему полосу пропускания; и/или
- Ограничьте трафик для соответствующего пользователя.