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

В данном примере маршрутизатор будет иметь адрес 10.130.1.1 из внутренней сети 10.130.1.0/24, dнешний IP-адрес 192.168.1.137 (полученый по DHCP). Сервер WNAM2 с гостевым порталом - 192.168.1.207

Предварительная настройка

Для настройки hotspot необходимо, чтобы маршрутизатор был настроен для работы в качестве роутера. Далее будут кратко описаны шаги по минимально необходимой настройке маршрутизатора для работы гостевой авторизации. Для полноценной настроки рекомендуется обратится к документации производителя

Объединение локальных интерфейсов в бридж

Интерфейсы через которые будут подключаться клиенты или точки доступа объединяем в бридж


/interface bridge add name=bridge-guest
/interface bridge port
add bridge=bridge-local interface=ether2
add bridge=bridge-local interface=wlan1
add bridge=bridge-local interface=wlan2


Настройка IP адресов

Адрес внутреннего интерфеса (IP > Addresses > Add New)

Получение IP-адреса внешенго интерфейса по DHCP (IP > DHCP Client > Add New)

/ip address
add address=10.130.1.1/24 interface=bridge-guest network=10.130.1.0
/ip dhcp-client
add disabled=no interface=ether1

Настройка DHCP сервера для внутренней сети

Настраиваем пул адресов, который будет выдаваться клиентам (IP > Pools > Add New)

Добавляем сеть для DHCP сервера (IP > DHCP Server > Networks > Add New)

Натсраиваем DHCP сервис (IP > DHCP Server > Add New)

/ip pool
add name=dhcp ranges=10.130.1.100-10.130.1.150
/ip dhcp-server network
add address=10.130.1.0/24 gateway=10.130.1.1 netmask=24
/ip dhcp-server
add address-pool=dhcp disabled=no interface=bridge-guest name=dhcp1

Настройка NAT

Помещаем интерфейс внешний интерфейс (ether1) в Interface List "WAN", а внутренние интерфейсы в список "LAN" (Interfaces > Interface List > Add New)

/interface list
add name=WAN
add name=LAN
/interface list member
add interface=ether1 list=WAN
add interface=bridge-guest list=LAN

Создаем правило межсетевого экрана для трансляции адресов из LAN в WAN (IP > Firewall > NAT > Add New)

/ip firewall nat
add action=masquerade chain=srcnat out-interface-list=WAN


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

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

Настройка беспроводной сети

Добавляем профиль безопасности беспроводной сети (Wireless > Security Profiles > Add New)

/interface wireless security-profiles
add name=open supplicant-identity=""

Настраиваем беспроводные интерфейсы (Wireless > WiFi Interfaces > wlan1, wlan2)

/interface wireless
set [ find default-name=wlan1 ] disabled=no mode=ap-bridge security-profile=open ssid=hap2
set [ find default-name=wlan2 ] disabled=no mode=ap-bridge security-profile=open ssid=hap5

На этом предварительная базовая настройка закончена.


Переходить к настройке непосредственно гостевого портала необходимо только после того, как есть беспрепятственный доступ в интернет (либо ту сеть доступ к которой предполагается предоставлять при помощи гостевого портала). Если доступа нет, то нужно проверить правильность настройки. До тех пор пока не будет доступа переходить к настройке непосредственно гостевого портала не имеет смысла.

Настройка гостевого доступа на Mikrotik

Настройка hotspot

Первым этапом необходимо создать профиль hotspot (IP > Hotspot > Server Profiles >Add New)

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

/ip hotspot profile
add hotspot-address=10.130.1.1 html-directory=flash/hotspot login-by=mac,http-pap mac-auth-mode=mac-as-username-and-password name=wnam-serv-prof use-radius=yes

Далее созаем hotspot (IP > Hotspot > Add New)

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

/ip hotspot
add disabled=no idle-timeout=1m interface=bridge-guest name=wnam profile=wnam-serv-prof

Далее настроим прфиль пользователя

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

/ip hotspot user profile
set [ find default=yes ] session-timeout=5m

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

/ip hotspot ip-binding
add mac-address=AA:BB:CC:DD:EE:FF

В данном примере WNAM2 имеет адрес из внешней относительно хотспота сети (192.168.1.207), поэтому необходимо настроить разрешение для доступа неавторизованых клиентов к серверу WNAM 2 при помощи  Walled Garden (IP > Hotspot > Walled Garden > Add New).

В приведенном ниже скриншоте настроено разрешение доступа к порту 443 хоста 192.168.1.207. При необходимости можно создать несколько таких правил для разных портов и хостов.

Также добавим IP адрес сервера WNAM в список Walled Garden IP (IP > Hotspot > Walled Garden IP List> Add New)

/ip hotspot walled-garden
add dst-host=192.168.1.207 server=wnam
/ip hotspot walled-garden ip
add action=accept disabled=no dst-address=192.168.1.207 !dst-address-list !dst-port !protocol !src-address !src-address-list

Последним действием необходимо поместить файл rlogin.html в директорию /hotspot/ (либо /flash/hotspot) файловой системы маршрутизатора Mikrotik. Сделать это можно либо через меню Files веб интерфейса либо утилиты WinBox, нажав кнопку "Upload" (в случае с WinBox файл можно просто перетащить в окно со списком файлов при помощи стандарного drag-n-drop)


<html>
<!--
<?xml version="1.0" encoding="UTF-8"?>
  <WISPAccessGatewayParam
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://$(hostname)/xml/WISPAccessGatewayParam.xsd">
    <Redirect>
    <AccessProcedure>1.0</AccessProcedure>
    <AccessLocation>$(location-id)</AccessLocation>
    <LocationName>$(location-name)</LocationName>
    <LoginURL>$(link-login-only)?target=xml</LoginURL>
    <MessageType>100</MessageType>
    <ResponseCode>0</ResponseCode>
    </Redirect>
  </WISPAccessGatewayParam>
 -->
<head>
<title>...</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="-1">
</head>
<body>
<form name="wnamlogin" action="https://192.168.1.207/portal/" method="get">
    <input type="hidden" name="dst" value="$(link-orig)" />
    <input type="hidden" name="username" value = "$(mac)"/>
    <input type="hidden" name="password" value = "$(mac)" />
    <input type="hidden" name="clientmac" value = "$(mac)" />
    <input type="hidden" name="ip" value = "$(ip)" />
    <input type="hidden" name="server-name" value = "$(server-name)" />
    <input type="hidden" name="apip" value = "$(server-address)" />
    <input type="hidden" name="client-id" value="$(client-id)"/>
    <input type="hidden" name="site-id" value="$(site-id)"/>
</form>
<script type="text/javascript">
<!--
  document.wnamlogin.submit();
//-->
</script>
</body>
</html>

Подробнее с описанием содержимого каталога hotspot и кастомизацией hotspot рекомендуется ознакомится в документации производителя 

Настройка RADIUS

Т.к. для авторизации и аккаунтинга используется пртокол RADIUS необходимо настроить подключение к RADIUS-серверу WNAM 2 (RADIUS > Add New)

Необходимо указать адрес RADIUS сервера (в данном примере 192.168.1.207), порты (можно оставить по умолчанию), секретный ключ, а также поменять значение требования обязательного наличия атрибута Message-Authenticator - в поле Require Message Auth выбрать значение "no". Так же при необходимости можно указать и адрес с которго будет производится соединение с RADIUS сервером WNAM 2 (Src. Address)

Для работы механизма dynamic authorization необходимо включить прием маршрутизатором сообщений от сервера WNAM 2 (RADIUS > Incoming)

/radius
add address=192.168.1.207 comment=wnam require-message-auth=no secret=secret service=login,hotspot,wireless src-address=192.168.1.137
/radius incoming
set accept=yes

Настройка гостевой авторизации в WNAM 2

На стороне системы авторизации WNAM 2 вы настраиваете взаимодействие с контроллером (RADIUS-клиентом) и правила аутентификации/авторизации вне зависимости от того, какой способ гостевой авторизации (ваучер, смс, звонок и т.п.) вы применяете.

Добавление/настройка сетевого устройства (NAS)

В первую очередь необходимо добавить контроллер в систему WNAM 2 в разделе "Объекты - Сетевые устройства", нажав на кнопку Новое устройство

В настройках сетевого устройства (NAS) необходимо указать имя устройства, вендора "MIKROTIK", IP адрес контроллера и ключ RADIUS:

Настройка гостевого портала

Следующим шагом необходимо настроить гостевой портал системы WNAM 2. Для этого в меню "NAC - Гостевой доступ"  необходимо включить хотя бы один из способов авторизации. В данном примере этим способом будет СМС.  Для тестирования включим Способ отправки СМС - "TEST".

Более подробно ознакомится с  информацией о настройке гостевого портала можно в соответствующем разделе документации.

Настройка правил аутентификации и авторизации

Следующим шагом необходимо определить правила аутентификации и авторизации гостевых пользователей беспроводной сети.

Правило авторизации ("Главная - NAC - Авторизация"):

Затем нужно настроить правило аутентификации в разделе  "Главная - NAC - Аутентификация - Беспроводный MAB"

Если ваш контроллер находится за пределами локальной сети (т.е. его IP адрес находится за пределами сетей 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) необходимо добавить его адрес или сеть в список допустимых сетей для работы с RADIUS сервером. Сделать это можно путем изменения параметра "Допустимые сети RADIUS-клиентов для работы с сервером" (ключ radiusd_networks) из меню "Настройки - Параметры"

Проверка работоспособности

При подключении к беспроводной сети пользователя перебрасывает на гостевой портал, где он проходит авторизацию одним из настроенных в системе способов (в данном примере - СМС):

Успешное подключение и авторизация гостевого пользователя приведет к появлению записи об его устройстве (эндпоинте) в списке, с типом GUEST и получению доступа к интернету (или сети ):