Третий по счету обзор о pfSense будет посвящен настройке прокси-сервера в этом программном маршрутизаторе. Дополнительно мы покажем вам, как снять статистику с прокси, т.е. как узнать кто и в каких количествах использует интернет.
Предыдущие наши обзоры pfSense смотрите по ссылкам:
- Введение в pfSense
- Установка pfSense
- Сетевые интерфейсы в pfSense
- [этот обзор] Прокси-сервер в pfSense
- Прокси-сервер в pfSense — Часть 2: антивирус и фильтры доступа
- MultiWAN в pfSense — подключение к двум провайдерам
- pfSense — настройка удаленного доступа (IPSec VPN) для iPhone, iPad
Установка
Для полного счастья нам надо установить два пакета. Делается это в меню Systempackets. Здесь есть две вкладки. Available Packages — доступные для установки пакеты. Installed Packges — уже установленные пакеты.
Что где находится, думаю, понятно. В Available Packages в списке найдите и установите следующие пакеты (обязательно в указанном порядке):
- squid — сам прокси-сервер. Там есть еще похожий пакет squid3 — его устанавливать не надо!
- lightsquid — модуль статистики
Настройка
Установили? Все три пакета должны отобразиться в списке в Installed packages. Идем в меню ServicesProxy server. Здесь, во вкладке General, расположены основные настройки.
Во-первых выбираем сетевой интерфейс LAN, чтобы только на нем прокси принимал запросы. Далее ставим галку Allow users on interface — разрешаем пользоваться прокси всем, кто подключается со стороны выбранного интерфейса.
Знаете как в интернете появляются анонимные прокси (в большинстве случаев)? Это когда админ забыл ограничить доступ к прокси только из своей локальной сети. Т.е. получается, что его прокси-сервером может пользоваться кто угодно из интернета в своих корыстных целях. Никогда не наступайте на эти грабли!
Следующая галка — Transparent proxy. Есть два основных режима работы сервера: обычный и прозрачный (transparent). По существу два режима отличаются тем, что в последнем варианте не нужно настраивать никакие опции прокси-сервера в броузерах на компьютерах локальной сети. Т.е. выходя в интернет со своего компа, человек думает, что подключен на прямую, а на самом деле — нет. Недостаток у прозрачного режима только один — нельзя сделать ограничения по логину и паролю на доступ в интернет. Т.е. либо все компьютеры сети выходят в интернет прозрачно либо никто не выходит. Либо пользуйтесь обычным режимом прокси-сервера с проверкой по логину и паролю для каждого человека.
На самом деле, прокси-сервер squid умеет работать в двух режимах одновременно, но в pfSense включить их одновременно через web-интерфейс нельзя. Можно попробовать вручную отредактировать конфигурационный файл. Мы проведем этот эксперимент в другой раз.
Если вы только начинаете изучать pfSense и вы раньше никогда не настраивали squid, то мы вам рекомендуем для начала попробовать режим transparent — он проще в настройке.
Давайте еще разберем несколько основных настроек, которые, кстати говоря, будут одинаково справедливы для обоих режимов работы прокси-сервера в pfSense:
- Enable logging — включить запись логов. Если вы собираетесь пользоваться статистикой, то обязательно включите.
- Log store directory — каталог хранения лог-файлов. Значение по умолчанию менять крайне не желательно.
- Log rotate — ротация логов. Делается для автоматического архивирования старых лог-файлов. Статистика прокси-сервера смотрится только из актуального лог-файла, а не из архивного. Поэтому интервал ротации нужно брать столько дней, когда лог перестает быть актуальным для вас, например, 2 месяца, т.е. 60 дней.
- Proxy port — порт, на котором будет работать прокси-сервер. Обычно ставится значение 3128.
- Language — язык, на котором будут отображаться различные сообщения для пользователей прокси-сервера. Обычно ставится Russian-1251.
И еще пара интересных опций, которые работают только в режиме Transparent:
- Bypass proxy for these source IPs — сюда можно вписать список компьютеров локальной сети через разделитель ; которым разрешено ходить в обход прокси-сервера.
- Bypass proxy for these destination IPs — сюда можно вписать список внешних ресурсов через разделитель ; до которых все компьютеры локальной сети смогут ходить напрямую (не через прокси).
После выставления всех опций не забываем нажать кнопку Save внизу страницы.
Давайте рассмотрим другие закладки. В Upstream Proxy указывается вышестоящий прокси-сервер. В закладке Cache Mgmt — настраивается кеширование. В закладке Access Control — можно прописать разрешенные и запрещенные есть. Вся эта закладка не имеет смысла, если мы установили опции Allow users on interface и Transparent proxy. В закладке Traffic Mgmt можно установить ограничения на максимальный размер скачиваемых и закачиваемых файлов. Имхо одна из самых полезных вещей 🙂
Закладка Auth Settings в режиме Transparent не работает вообще. Здесь настраиваются опции аутентификации.
Последняя закладка нужна для добавления пользователей, авторизованных на прокси-сервере в случае использования обычного режима работы.
Firewall
Какой бы мы режим не выбрали, нам нужно сделать так, чтобы доступ в интернет осуществлялся только через прокси-сервер. И прежде чем мы пойдем дальше, нам необходимо внести некоторые коррективы в правила фаервола. Если вы устанавливали pfSense по нашим предыдущим обзорам, то набор правил по умолчанию в закладке LAN меню FirewallRules у вас будет выглядеть следующим образом:
На данном этапе нужно удалить все правила кроме первого, которое нужно только для того, чтобы бы мы сами себе не заблокировали доступ на web-интерфейс pfSense. Удалить любое правило можно нажатием кнопки с изображением крестика справа от нужного правила. После удаления список правил получился вот такой:
Теперь добавим одно довольно простое правило, которое будет разрешать доступ с компьютеров локальной сети до машины с pfSense. Это делается кнопкой, я её указал стрелкой на скриншоте выше. Такое правило нужно по двум причинам как минимум:
- Чтобы на начальном этапе мы могли,например, пинговать роутер и выполнять любые другие необходимые диагностические действия.
По сути, можно было бы создать два отдельных правила под эти нужды, но новичкам мы рекомендуем все-таки ограничиться одним более универсальным правилом, которое дополнительно может избавить и от других проблем в процессе настройки. Итак, в процессе создания правило будет иметь следующий вид (самые важные моменты я выделил желтым):
После удаления старых правил и создания новых не забудте нажать кнопку Apply Changes вверху! Итоговый вид будет вот такой:
Теперь можно попробовать выйти в интернет с любого компьютера локальной сети. Весь трафик при этом будет проходить через прокси-сервер pfSense. Посетите несколько сайтов, попробуйте чито-нибудь скачать, кароче создайте вид бурной деятельности в интернете. Сейчас это нужно просто для того, чтобы создать некотрой объем записей в лог файле для нашей будущей статистики.
Статистика Lightsquid
Давайте посмотрим как ее настроить. Сначала пройдем в меню StatusProxy report.
На первой закладке Settings сделаем несколько манипуляций:
- Language — устанавливаем Russian
- IP resolve method — самый универсальный способ — Demo
- Refresh sheduler — интервал обновления статистики. Чем меньше интервал, тем больше будет нагружен pfSense. На этапе настройки и отладки мы рекомендуем минимально возможное значение — 10 мин, но затем лучше выбрать более рациональное значение, например, 60 мин.
Нажимаем внизу страницы кнопку Save, а после этого кнопку Refresh full. Затем перейдите на саму страницу статистики — вторая закладка Lightsquid report. Сначала там может появиться страница с ошибкой. Ничего страшного, оставьте ее в покое, просто чуть позже (минут через 10-15) попробуйте обновить страницу в броузере. Должно появиться примерно вот это:
Если у вас всё так, то значит что все настроено правильно. Статистика имеет довольно простой и на наш взгляд понятный интерфейс.
На этом пока всё. Если возникнут вопросы, пишите в комменты, поможем.
Смотрите продолжение:
Прокси-сервер в pfSense Часть 2: антивирус и фильтры доступа