Как контролировать пропускную способность сети на пользователя на сервере Ubuntu?

У меня есть несколько пользователей оболочки на сервере с 300 ГБ ежемесячной передачи данных. Как я могу отслеживать использование полосы пропускания для каждого пользователя?

12
задан 6 October 2012 в 13:56

4 ответа

Как корень, Вы могли, по крайней мере, измерить исходящий трафик на основе в расчете на пользователя с помощью модуля "владельца" iptables. Если все пользователи, которых Вы хотите контролировать, находятся в /root/list-of-users.txt, можно сделать:

for login in $(cat /root/list-of-users.txt);
do
    iptables -N out_user_$login
    iptables -A OUTPUT -m owner --uid-owner $(id -u $login) -j out_user_$login
done

И затем пакет и счета байта для исходящего трафика каждого пользователя видимы:

iptables -L OUTPUT -n -v | grep out_

Это могло быть расширено далее с CONNMARK для отслеживания входящей стороны также.

13
ответ дан 6 October 2012 в 13:56

Я только что натолкнулся на NetHogs :

NetHogs - это небольшой инструмент «net top». Вместо того, чтобы разбивать трафик на протокол или подсеть, как это делают большинство инструментов, он группирует пропускную способность по процессам.

enter image description here

Это должно позволить вам отслеживать пропускную способность по имени пользователя. Может потребоваться еще пара инструментов для регистрации информации и добавления всего этого, но это хорошее начало без непосредственного использования iptables.

0
ответ дан 6 October 2012 в 13:56

Вы можете использовать Cacti

Cacti - это полный интерфейс RRDTool, он хранит всю необходимую информацию для создания графиков и заполнения их данными в базе данных MySQL. Интерфейс полностью основан на PHP. Наряду со способностью поддерживать графики, источники данных и циклические робин-архивы в базе данных, cacti обрабатывает сбор данных. Также есть поддержка SNMP для тех, кто используется для создания графиков трафика с помощью MRTG.

Или vnStat

vnStat - это консольный монитор сетевого трафика для Linux и BSD, который ведет журнал сетевого трафика для выбранного интерфейса (ов). ). Он использует статистику сетевого интерфейса, предоставленную ядром, в качестве источника информации. Это означает, что vnStat на самом деле не будет анализировать трафик, а также обеспечивает легкое использование системных ресурсов.

Оба они великолепны.

0
ответ дан 6 October 2012 в 13:56

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

Я на самом деле не сетевой парень, но из того, что я прочитал, помимо всего прочего netstat и iptables должны делать для учета пользователей на основе ip / host, что делали инструменты acct для системного учета процессов. Эта ссылка на cyberciti.biz может помочь вам в разработке системы с помощью этих инструментов:

http://www.cyberciti.biz/faq/linux-configuring-ip-traffic-accounting/

0
ответ дан 6 October 2012 в 13:56

Другие вопросы по тегам:

Похожие вопросы: