В офисной локалке прокси всегда пригодится. Собственно, прокси позволяет нам немного экономить трафик, и что тоже немаловажно, позволяет отслеживать перемещение сотрудников во всемирной паутине. Вообщем, мы всегда по логам можем определить, какой сотрудник накачал больше всего порнухи или ищет новую работу, вместо того, чтобы выполнять должностные обязанности. Ну и так далее, вообщем, сплошная польза.
Прокси работает на другом порту (чаще всего на 3128) и перенаправляет запросы на порт 80 удаленных серверов. Это его и отличает от NAT-а - он не подменяет ip-адрес, а как бы пробрасывает запрос с одного порта на другой и кеширует. Мутно немного получается:) Любой виндовый админ сделает следующим образом, установит proxy (уж не знаю как оно у MS называется) и заставит всех пользователей через AD настроить Internet Explorer на работу с прокси. Но это не наш метод. Мы сделаем заворот на squid с помощью фаервола pf. Итак, предполагается что pf у нас уже есть. Остальное - устанавливаем:
Установка из пакетов практически не отнимает время. Для любителей устанавливать из портов идем в директории /usr/ports/www/squid26 и /usr/ports/www/sarg и делаем там make install. В моем случае установился:
Сразу прописываем в /etc/rc.conf: squid_enable="YES". Squid - очень мощный прокси сервер, но для запуска в наших примитивных условиях достаточно будет такого конфига (/usr/local/etc/squid/squid.conf):
По сути, эти правила почти ничем не отличаются от установленных по умолчанию. Так что настроить squid - дело 5 минут. Далее запускаем:
Запустился. В настройках любого браузера указываем наш новоиспеченный прокси на порту 3128 и пробуем выйти в интернет. Если не получилось - смотрим логи, маны и думаем. Если прокси выпускает нас в интернет, то самое время завернуть весь http-трафик, проходящий через NAT на прокси. Для pf (конфиг в "/etc/pf.conf") это делается такой строкой:
После перезапуска правил фаервола ("pfctl -f /etc/pf.conf") весь веб-трафик будет пропускаться через squid. Весь, кроме https, что, вообще-то, не очень страшно. Теперь можно перейти к настройке sarg. Конфиг располагается в /usr/local/etc/sarg:
Ну для удобства можно и подредактировать файл /usr/local/etc/sarg/usertab.txt
После этого страница статистики будет выглядеть заметно приятнее. Кстати, между ip и именем должен быть пробел, а не TAB. Остается только поставить в расписание обработчика логов, тут уж кому как, можно поставить каждые 15 минут, а можно и раз в сутки, чтобы не мучать сервер ("/etc/crontab").
Ну и напоследок, чтобы не накапливать уже обработанные логи сквида можно раз в сутки обнулять примерно таким скриптом: