Для работы WNAM требуется устройство, осуществляющее перехват HTTP-сессии нового абонента, его авторизацию, дальнейший учёт использования сети. Для небольших сетей наиболее оптимальным является применение хотспота (hotspot), доступного в маршрутизаторах Mikrotik. Для построения радио-сети доступа абонентов может использоваться любое оборудование (UniFi, D-Link, радио-интерфейс в том же Mikrotik).

В случае использования маршрутизатора Mikrotik RouterOS версии 7.х имеется проблема с некорректной работой страницы логина.

Для решения данной проблемы необходимо применить следующие настройки:

/ip hotspot walled-garden
add dst-host=wnam_ip dst-port=80
/ip hotspot walled-garden ip
add action=accept disabled=no dst-address=wnam_ip !dst-address-list dst-port=80 protocol=tcp !src-address !src-address-list

Вместо wnam_ip следует использовать ip-адрес вашего сервера WNAM.

Пример конфигурационного файла маршрутизатора доступен по адресу: http://www.netams.com/files/wnam/misc/mikrotik.txt.

Настройка маршрутизатора через веб-интерфейс предполагает несколько шагов. Данное руководство не является полным руководством по настройке маршрутизаторов Mikrotik. Более подробно процедура настройки описана на сайте производителя.

В первую очередь, следует настроить IP-адресацию. Адрес 10.130.1.1 устанавливается на внутреннем интерфейсе маршрутизатора (ether2-master-local, привязанный к мосту bridge-local), а адрес 172.16.130.9 на внешнем интерфейсе ether1-gateway, "смотрящем" в сеть Интернет.

Для предоставления IP-адресов клиентам внутренней сети необходимо создать пул адресов, как показано на рисунке.

Пул адресов необходимо применить к настройкам DHCP-сервера, как показано на рисунке.

Также необходимо задать параметры, которые DHCP-сервер передает клиенту. Следует обратить внимание, что DHCP-клиенты получают IP-адрес самого маршрутизатора Mikrotik в качества шлюза по умолчанию. Если используются точки доступа UniFi, им необходимо передать адрес контроллера через DHCP опции (тип 43).

Чтобы разрешить пользователям внутренней сети доступ в сеть Интернет, необходимо настроить соответствующее правило NAT (masquerade, на внешнем интерфейсе). Остальные правила добавляются автоматически при включении хотспота. Настройка правила NAT представлена на рисунке. 

Для корректного учёта трафика и работы ограничений скорости следует убедиться, что в таблице правил межсетевого экрана (firewall) отключено или отсутствует правило fasttrack:

action=fasttrack-connection chain=forward comment="default configuration" connection-state=established,related

При настройках, выполненных выше, пользователи вашей внутренней сети будут иметь беспрепятственный доступ в сеть Интернет. Пока он не настроен должным образом, нет смысла переходить к настройке хотспота (Hotspot). В приведенном примере создано два хотспота (второй деактивирован). Пример создания хотспотов представлен на рисунке.

Настройка хотспота (сервера) должна описывать интерфейс, на котором производится перехват трафика, имя профиля сервера. Указывать пул адресов не нужно, если используется DHCP для клиентов на этом же интерфейсе.

Настройки профиля сервера определяют характеристики хотспота. Имя каталога с файлами шаблонов страниц по умолчанию: hotspot, но в рамках одного устройства можно создать разные хотспоты с разными каталогами и шаблонами страниц. Для авторизации следует выбрать метод "HTTP PAP". Также требуется включить аккаунтинг и сбор промежуточной статистики (Interim Update). Если используются пересекающиеся адресные пространства на ваших нескольких хотспотах, то для корректной привязки сессии абонента к площадке необходимо указать параметр Location ID, равный номеру площадки.

Затем необходимо настроить профиль пользователя, который будет применяться к каждому подключенному и авторизованному абоненту. Здесь можно указать ограничение скорости передачи данных на абонента, а также максимальную длительность каждой сессии. По завершении указанного в "Session Timeout" времени хотспот автоматически закроет сессию, и пользователь будет вынужден снова перейти на страницу редиректа (просмотр рекламы или перенаправление на какой-либо сайт). Эти параметры можно также настроить в свойствах площадки или общих свойствах в интерфейсе системы WNAM "Ограничения" (имеют больший приоритет).

Если в используемой сети присутствуют устройства, которым нужен непрерывный безусловный доступ в сеть Интернет без хотспота (например, кассовые терминалы, терминалы мобильной оплаты, смартфон босса), можно внести запись о таких устройствах (при известном МАС-адресе устройства) во вкладке "IP Bindings", при этом IP-адрес фиксировать не требуется.

 

Также можно воспользоваться заранее созданной в интерфейсе администратора записью о VIP-пользователе, включить МАС-авторизацию. В таком режиме привилегированные абоненты будут управляться системой WNAM, а не хотспотом, и их БД будет общая на все подключенные к серверу хотспоты.

Если сервер WNAM находится не в той же сети, что и пользователи хотспота, то по умолчанию трафик до него неавторизованным пользователям будет блокирован, и авторизация будет недоступна. Требуется создать соответствующую "разрешающую" запись в настройках Walled Garden как показано на рисунке. 

В приведенном примере сервер WNAM имеет IP-адрес 172.16.130.5 (расположен "снаружи" хотспота) и принимает запросы авторизации клиентов на порту 8080 (на котором работает приложение WNAM ). Если используется Nginx в качестве фронт-прокси, и он работает на порту 80, то следует указать 80. Аналогично следует указать 443, если Nginx использует SSL.

Поскольку для авторизации и аккаунтинга применяется протокол RADIUS, требуется настроить связь с RADIUS-сервером как представлено на рисунке. В приведенном примере сервер WNAM имеет адрес 172.16.130.13.

Требуется указать UDP порты (по умолчанию), ключ (секрет), соответствующий настроенному на сервере в файле /etc/freeradius/clients.conf.

Для сбора сведений по протоколу NetFlow о трафике абонентов (IP-адреса, TCP/IP порты удалённых узлов сети Интернет) требуется включить режим отправки статистики на сервер WNAM. Для этого необходимо включить сбор (traffic flow) на внутреннем интерфейсе роутера.

Затем следует указать принимающую сторону (сервер WNAM) для пакетов NetFlow как показано на рисунке.

Последним действием необходимо поместить файл rlogin.html в директорию /hotspot/ файловой системы маршрутизатора Mikrotik. Для этого требуется утилита Winbox.exe (либо файл можно создать через CLI).

Файл необходимо положить в корневую директорию хотспота, а не в поддиректорию /lv/ (латвийскую версию его).

Образец этого файла находится по адресу: http://www.netams.com/files/wnam/misc/.

При скачивании HTML-файлов по ссылке выше не следует кликать на файлы (будет загрузка файла с авто-редиректом в пустоту), следует выбирать правой кнопкой мыши "сохранить как...".

Независимо от применяемого метода авторизации доступа (прозрачный, с отправкой или получением СМС) файл будет одним и тем же. Его цель - при обращении пользователя к хотспоту перевести сессию авторизации на сервер WNAM.

Необходимо в этом файле самостоятельно с применением текстового редактора, перед загрузкой его в маршрутизатор, изменить следующие строки:

  • action="http://172.16.130.5:8080/cp/mikrotik" - указать ссылку (путь) до сервера WNAM, вместе с TCP-портом. Порт должен соответствовать тому, на котором ранее настроили веб-сервер Tomcat для работы веб-интерфейса WNAM (80 либо 8080). Обязательно сохранить параметры "/cp/mikrotik" в конце ссылки. Даже если используется несколько хотспотов или несколько маршрутизаторов Mikrotik, ссылка должна быть одной и той же.
  • name="site-id" value = "1" - указать ключ площадки, её порядковый номер. Если используется несколько площадок в настройках системы WNAM, пересекающиеся IP-адреса и используете таргетированный по площадкам показ рекламы, требуется указывать уникальный ключ (номер) каждой площадки.

Также можно заменить файл login.html, он позволяет отображать абоненту осмысленное сообщение в случае ошибки.

На этом настройка маршрутизатора Mikrotik закончена.

В интерфейсе администратора системы WNAM необходимо создать объект типа "Сервер доступа", выбрать тип "Mikrotik", указать его IP-адрес, логин и пароль для доступа в режиме "для чтения" для определения имен абонентов.

Если сталкиваетесь с ситуацией, когда после разрыва сессии по тайм-ауту устройство абонента не распознает эту ситуацию и не отображает абоненту мини-браузер, можно попробовать сбрасывать неактивные записи об устройствах из таблицы хостов хотспота. Для этого можно воспользоваться действиями, представленными ниже (http://wiki.mikbill.ru/billing/nas_access_server/mikrotik_hosts).

1.Подключение к Mikrotik через Winbox

Для этого необходимо перейти в меню System|Scheduler и добавить новый инстанс как показано на рисунке.

Затем следует настроить все как на скрине, а в поле "On Event" поместить следующий код:

:foreach i in [ /ip hotspot host find where authorized =no and bypassed =no ] do={

/ip hotspot host remove $i

}

Скрипт будет удалять неавторизованные хосты соглаcно расписания.

2. Создание инстанса

Следует создать еще один инстанс как показано на рисунке.

Далее необходимо выполнить настройку параметров как представлено на рисунке, а в поле "On Event" поместить следующий код:

:foreach i in [ /ip hotspot host find where idle-time>00:01:00 ] do={

/ip hotspot host remove $i

}

Этот скрипт будет удалять все сессии, время простоя которых больше одной минуты. 


  • No labels