Биллинг на PfSense 1.2.3 часть 2

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

Скачиваем файл https://warelab.ru/files/pf123s27941.tar.gz на свой компьютер.

Заходим в webGUI pfsense, устанавливаем пакеты squid(версия 2.7.9_4.1), Lightsquid(версия 1.7.1 pkg v.1.2), cron(версия 0.2).

В разделе Diagnostics–>Command Prompt->Upload закачиваем pf123s27941.tar.gz (если кто-то знает консольную закачку - дайте знать)

Заходим в консоль pfsense.
копируем файл в директорию /usr/local
cp /tmp/pf123s27941.tar.gz /usr/local

cd /usr/local

Распаковываем файл
tar -xzf pf123s27941.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