Как контролировать трафик интернета в локальной сети?
Программ для учёта трафика в локальной сети достаточно много: как платных, так и бесплатных, сильно различающихся по функционалу. Одна из наиболее популярных Open Source программ – SAMS. Она работает на платформе Linux совместно со Squid.

SAMS требует наличия PHP5, будем использовать Ubuntu Server 14.04. Нам понадобятся пакеты Squid, Apache2, PHP5 с модулями.
Учет трафика интернета в локальной сети linux
Попробуем разобраться, как это работает.
Squid раздаёт интернет, принимая запросы на порту 3128. При этом он пишет детальный лог access.log. Всё управление прокси-сервером осуществляется через файл squid.conf. Squid обладает широкими возможностями по управлению доступом к интернету: разграничение доступа по адресам, контроль полосы пропускания для конкретных адресов, групп адресов и сетей.
SAMS работает на основе анализа логов прокси-сервера Squid. Система учёта трафика в локальной сети следит за статистикой прокси-сервера, и в соответствии с заданными политиками принимает решение о блокировке, разблокировке или ограничении скорости для клиента Squid.
Установка SAMS

Устанавливаем пакеты.
apt-get install apache2 php5 php5-mysql mysql-server php5-gd squid3
Скачиваем и устанавливаем SAMS
wget https://github.com/inhab-magnus/sams2-deb/archive/master.zip
unzip master.zip
cd sams2-deb-master/
dpkg -i sams2_2.0.0-1.1_amd64.deb
Устанавливаем web-интерфейс
dpkg -i apache2/sams2-web_2.0.0-1.1_all.deb
В файл /etc/sams2.conf вносим изменения.
DB_USER=root
DB_PASSWORD=/Пароль к MySql/
Запускаем SAMS
service sams2 start
Настройка Squid
Вносим изменения в файл /etc/squid3/squid.conf
http_port 192.168.0.110:3128
cache_dir ufs /var/spool/squid3 2048 16 256
Включаем логирование и ротацию логов с хранением в 31 день.
access_log daemon:/var/log/squid3/access.log squid
logfile_rotate 31
Останавливаем Squid, создаём кэш.
service squid3 stop
squid –z
service squid3 start
Для чистоты эксперимента настраиваем один из браузеров на работу с прокси 192.168.0.110 через порт 3128. Попробовав подключиться, получаем отказ в соединении – в Squid не настроены права на доступ к прокси.
Начальная настройка SAMS
В другом браузере открываем адрес (192.168.0.110 – адрес сервера).
Он нам скажет, что не может подключиться к базе данных и предложит выполнить установку.

Указываем сервер базы данных (127.0.0.1), логин и пароль от MySql.

Начальная настройка системы учёта трафика выполнена. Остаётся только выполнить настройку программы.
Мониторинг трафика в локальной сети
Логинимся в систему под администратором (admin/qwerty).


Стоит сразу сказать об авторизации пользователей.
Поддерживается авторизация несколькими методами, среди которых самый доступный и простой – по IP-адресу. Когда каждому пользователю соответствует отдельный IP.

В ветке Squid открываем прокси-сервер и нажимаем внизу кнопку «Настройка прокси-сервера».

Самое главное здесь – указать в адресах папок и файлов, где это необходимо, свой IP-адрес, иначе прокси-сервер не запустится.
Суть всех изменений в настройках SAMS в том, что они записываются в squid.conf. В фоне работает sams2deamon, который отслеживает изменения в настройках, требующих внесения в конфигурационный файл (там же можно задать интервал отслеживания).
Переходим в ветку «Пользователи». Внизу нажимаем кнопку «Добавить пользователя».

Заполняем поле «Пользователь» и «IP адрес». В качестве имени пользователя возьмём тот же IP (IP компьютера, не сервера!). В поле «Разрешенный трафик» вносим «0», то есть без ограничений. Все остальные поля опускаем.

Будет добавлен новый acl для этого IP-адреса и разрешение для работы через Squid. Если конфиг не был изменен автоматически, переходим в ветку прокси и нажимаем кнопку «Переконфигурировать Squid». Изменения в конфиг будут внесены вручную.
Пробуем открыть любой URL в браузере. Проверяем access.log и видим запросы, обрабатываемые прокси. Для проверки работы SAMS откроем страницу «Пользователи», внизу нажмём кнопку «Пересчитать трафик пользователей».
Пользуясь кнопками внизу по управлению статистикой, можно получить детальную информацию по статистике посещения пользователем страниц.