Биллинг на PfSense 2.0.3-2.1.4

Навигация по книге

Данная статья представляет дальнейшее развитие концепции, изложенной в https://warelab.ru/node/11.

Заходим в webGUI pfsense, если не установлены, устанавливаем пакеты squid(версия 2.7.9 pkg v.4.3.3), Lightsquid(версия 1.8.0 pkg v.2.32), cron(версия 0.1.7).

Заходим в консоль pfsense, например с помощью putty.
Копируем файл в директорию /usr/local

cd /usr/local
fetch https://warelab.ru/files/pf203s279433.tar.gz

Распаковываем файл
tar -xzf pf203s279433.tar.gz
с тем, чтобы получилась директория squid в /usr/local

Патчим
cd pkg
patch < /usr/local/squid/billing.patch

Настраиваем cron на выполнение програмы "perl /usr/local/squid/ter.pl" раз в полчаса, или вручную выполняем данную последовательность в консоли(сколько Ваш пользователь расходует трафика за полчаса - это и есть погрешность). Если программа не будет выполняться соответственно ни один пользователь не появится в файле blocked_users и соответственно не заблокируется. С другой стороны не стоит слишком часто дергать базу Lightsquid.

Чтобы все заработало необходимо разрешить локальную авторизацию в squid(Servises->Proxy server->Auth Settings->Authentication method->local), Ввести локальных пользователей и их пароли в Servises->Proxy server->Local Users, обеспечить совпадение имен в файле limit и в squid Servises->Proxy server->Local Users. Сопоставить необходимые лимиты пользователям в файле limit. Необходимо сохранить изменения в конфигурации squid.

Проверить работу скрипта можно по наличию сообщения "trafic blocator" в системном логе.

Просьба свои замечания и предложения направлять в https://warelab.ru/contact

Видео: