Всем доброго дня, ну что, пришло время заключительной статьи на тему организации и настройки wi-fi hotspot на примере программного роутера PfSense. В двух предыдущих статьях(часть 1,часть 2) я начал процесс установки и настройки. Чтобы быть в курсе всех обновлений блога вы можете подписаться на RSS рассылку. Приступим...

Вкладка Vouchers:

Первым делом включаем режим ваучеров, отметив пункт Enable Vouchers.

Voucher Rolls — «Виртуальные рулоны» ваучеров(кодов доступа) здесь мы позже будем выписывать коды доступа, пока оставляем этот пункт не тронутым.

Voucher public key, Voucher private key — в эти поля нужно вставить или сгенерировать автоматически (нажав на ссылку Generate new key расположенную под каждом из полей) RSA публичный и приватные ключи в формате PEM, на основе этих ключей будут шифроваться и дешифроваться ваучеры.

Character set - символы используемые при генерации ваучеров, не рекомендуется использовать символы 0/O и l/1.

# of Roll Bits — объем в битах для хранения каждого рулона. Допустимый диапазон: 1 .. 31. Сумма Roll+Ticket+Checksum должна быть на один бит меньше, чем размер ключа RSA. (мое значение 16)

# of Ticket Bits — объем в битах для хранения каждого ваучера. Допустимый диапазон: 1 .. 16. Использование 16 бит позволяет создать рулон до 65535 ваучеров. Битовый массив, хранящиеся в оперативной памяти и в конфигурации, используется для определения, используемых ваучеров. Массив для 65535 ваучеров требует 8 Кб оперативной памяти. ( у меня здесь стоит значение 10).

# of Checksum Bits — зарезервированное место в каждом ваучере для хранения контрольных сумм всего рулона и кода доступа. Допустимый диапазон 0 .. 31. (мой вариант 5)

Magic Number — число сохраняемое в каждом ваучере. Проверяется в ходе проверки ваучера. Проверка числа зависит от количества свободного места в битах используемых на хранения информации о рулоне, коде доступа и контрольной сумме, если свободного места не осталось, то использование и проверка Magic Number осуществляться не будет.

Save Interval — список активных и используемых ваучеров сохраняется в конфигурации каждые Х минут на случай перебоя в подачи электроэнергии. При отсутствии новых активаций сохранения не происходят. Вы можете ввести 0, чтобы никогда не создавать XML конфиг.

Invalid Voucher Message – сообщение об ошибке отображается при активации недействительного ваучера ($ PORTAL_MESSAGE $).

Expired Voucher Message — сообщение об ошибке при активации истекшего ваучера у которого закончился срок действия.

Подраздел Voucher database synchronization в контексте данной статьи я рассматривать не буду, хотя здесь все ясно и понятно, он отвечает за синхронизацию с удаленной базой данных с ваучерами.

Жмем SAVE и переходим к генерации «рулонов»(Roll ) с ваучерами. Для этого в пункте Voucher Rolls все той же вкладки Vouchers нужно нажать кнопку «+»(add Voucher) и перейти непосредственно к созданию самих рулонов с ваучерами. Пройдемся по форме заполнения информацией для создания кодов доступа:

Roll# - здесь вводится номер рулона с ваучерами, допустимое значение 0 .. 65535.

Minutes per Ticket — время в минутах действия каждого ваучера в рулоне, отсчет начинается с момента активации ваучера.

Count — количество ваучеров в рулоне. Изменение этого числа в уже созданном рулоне приведет к тому, что все использованные ваучеры будут активны снова и готовы к активации.

Comment — комментарии к созданному списку ваучеров.

Заполняем все вышеназванные поля и жмем SAVE.

Теперь на вкладке Vouchers в пункте Voucher Rolls мы можем видеть информационную таблицу о созданных списках(рулонах) с ваучерами. Чтобы сгенерировать и скачать список на компьютер для последующей распечатки и нарезки кодов доступа, жмем кнопку с буквой «i» справа от нужного информационного поля в таблице и сохраняем на компьютер.

Вкладка File Manager:

Любые файлы загруженные через этот файловый менеджер будут доступны в корневом каталоге портала аутентификации HTTP (S) сервера. Вы можете включать их прямо в html код страницы аутентификации. Например с помощью файлового менеджера вы загрузили изображение 'captiveportal-test.jpg', теперь вы можете включить его путем вставки в html код следующим образом:

<img src="captiveportal-test.jpg" width=... height=...>

Кроме того вы можете загружать php файлы и исполнять их используя подобный код в странице аутентификации:

<a href="/captiveportal-aup.php?redirurl=$PORTAL_REDIRURL$">Acceptable usage policy</a>

Максимальный размер для всех файлов 1,00 МБ.

С настройками Captive Portal мы разобрались, перейдем к конфигурации firewall(Firewall – Rules – LAN), здесь все просто — разрешаем доступ из LAN по стандартным портам, все остальное запрещаем. На скрине ниже примерная конфигурация, которая в большинстве случаев подойдет всем: