Поддержка взаимодействия WNAM с маршрутизатором pfSense (http://www.pfsense.org) появилась, начиная с версии ПО WNAM 1.2.567.
pfSense представляет собой основанный на кодовой базе ОС FreeBSD специализированный дистрибутив, позволяющий организовать на основе x86 компьютера полноценный маршрутизатор, шлюз сети Internet, с большим набором возможностей и управлением через веб-интерфейс. Переда началом настойки взаимодействия вашего сервера pfSense c WNAM вы должны настроить и отладить сам pfSense, в том числе настроить сервис DHCP, маршрутизацию, правила межсетевого экранирования и трансляции адресов между локальной (где находятся любый точки доступа, и абоненты Wi-Fi), и глобальной (внешней, Internet) сетью.
При работе в качестве шлюза с авторизацией доступа pfSense использует встроенный компонент Captive Portal. Необходимо создать новый портал через меню "Services - Captive Portal". Портал здесь называется "зоной":
Необходимо задать имя портала (зоны), интерфейс, на котором он будет работать (это интерфейс LAN, на котором находятся Wi-Fi точки доступа, и их абоненты).
Далее, нажав на кнопку "е", необходимо установить параметры портала, как показано на рисунке:
Ниже перечислены параметры портала, которые необходимо заполнить:
Параметр | Описание |
---|---|
Interfaces | Выбрать LAN - имя интерфейса, на котором будет работать портал |
Pre-authentication redirect URL | Указать ссылку на сервер WNAM, в формате http://адрес_сервера:порт/cp/pfsense например |
Authentication | RADIUS Authentication - RADIUS Protocol - PAP |
Primary RADIUS server - IP address | IP-адрес сервера WNAM, например 10.200.0.2 |
Primary RADIUS server - Shared secret | Пароль взаимодействия с RADIUS-сервером, должен совпадать с аналогичным параметром в файле /etc/freeradius/clients.conf на сервере WNAM |
Accounting | send RADIUS accounting packets |
Accounting updates | interim update |
RADIUS NAS IP attribute | WAN, указать имя (и адрес) внешнего сетевого интерфейса |
Session-Timeout | Use RADIUS Session-Timeout attributes |
Type | default |
MAC address format | default |
Portal page contents | взять файл по ссылке: http://www.netams.com/files/wnam/misc/index.php и загрузить его на этой странице. при помощи этого файла производится перенаправление перехваченной порталом pfSense HTTP-сессии абонента на сервер WNAM для целей авторизации |
В файле, который определяет перенаправление на внешний портал авторизации (сервер WNAM), index.php, необходимо изменить идентификатор площадки (параметр "site-id"), указав номер площадки из конфигурации WNAM. В противном случае будет подставляться имя зоны (в примере - HomeK18). Вы также можете создавать зоны с именами (идентификаторами), численно равными номуре площадки из WNAM. Всё это требуется, если вы используете более чем одну зону на одном портале pfSense.
Необходимо также разрешить трафик в обход портала pfSense для еще не авторизованных клиентов. Как минимум, до DNS-сервера (в примере - до сервера Google 8.8.8.8), и до самого портала авторизации WNAM (в примере: 172.16.130.5):
Для учёта сведений по потокам трафика (на какие внешние ресурсы обращались абоненты), необходимо организовать сбор сведений по трафику и отправку из в сторону WNAM по протоколу NetFlow. Для этого вы должны установить и настроить пакет softflowd (включен в набор штатных пакетов pfSense). Параметры настройки приведены ниже:
Вы должны указать IP-адрес сервера WNAM, порт коллектора (20002), протокол (5), тип трекинга (full), а также таймауты.
Внимание: сбор статистики по объему трафика ведется по значениям счетчиков, получаемых в сообщениях RADIUS Accounting-Interim, а статистика по самому трафику (кто и какие ресурсы посещал) - по NetFlow.
Внимание: единственный параметр, который RADIUS-клиент, встроенный в pfSense, воспринимает, это Session-Timeout. Таймаут (длительность сессии абонента) вы должны явным образом задать в разделе "Ограничения" (глобально, или для выбранной площадки). Возможности задать длительность сессии через конфигурацию самого pfSense нет.
Внимание: Неизменяемым значением является интервал между сообщениями Accounting-Interim, равный 1 минуте. Это значит, что при наличии большого числа одновременно работающих абонентов будет создаваться значительная нагрузка на RADIUS-сервер и на WNAM.