Hotspot
Модуль позволяет предоставлять доступ в интернет абонентам, не внесенным в базу данных биллинга. Авторизация осуществляется посредством карточки оплаты:
Случайный клиент подсоединяется к вашей wifi точке с открытым доступом. Открывает любой http сайт и вместо запрошенной страницы получает сообщение о необходимости купить карту пополнения счета и ввести ее на данной странице, после чего получит доступ в интернет на такой-то срок. Клиент покупает скретч-карту, вводит ее номер и получает доступ в интернет. Он может отсоединиться от wifi и вернуться позже, при этом он получит доступ в интернет, если срок тарифа не истек.
Особенности:
- В ваших публичных wifi точках должен быть отключен nat, т.е подключенным клиентам ip будет выдавать не wifi роутер, а сервер биллинга
- Сервер биллинга различает клиентов по ip
- При первом вводе карты пополнения счета, создается новая учетная со случаным именем, это просто техническая запись, которая хранит тариф и ip клиента
- Страницу запроса карточки пополнения счета можно полностью оформить под ваш дизайн, ввести рекламу и т.д
Настройка:
- Создаем группу hotspot. Это необязательно
- Создаем тариф hotspot, в котором указываем срок тарифа - час, 5 или 24 часа (для тестов сделайте минут на 5-10), укажите стоимость тарифа, а параметр "автопродление" - нет. В настройках "группы, которые могут устанавливать услугу" ставим галку на группе hotspot
- создаем ip pool с:
- тип: статический
- теги: hotspot
- На тестовом wifi-роутере отключаем nat и переводим в режим бриджа (я думаю)
- Настраиваем dhcp так, чтобы выдавал ip в пуле hotspot. В будущем ваш админ должен настроить dhcp-конфиг так, чтоб он видел, что запрос пришел от wifi-точки. Либо же игнорировать это, если обычный dchp не используется в вашей сети.
- В админке в настройках hostpot указываем id группы и id тарифа hotspot
- В админке в разделе "документы"
- создаем папку Templates (если не создана) и ставим ей теги: system
- в папке Templates создаем файл hotspot с такими тегами:
system template=hotspot
- содержимое файла hotspot:
<!doctype html> <html> <head> <title>{{ cfg::net_title }} hotspot</title> <meta http-equiv='Cache-Control' content='no-cache'> <meta http-equiv='Pragma' content='no-cache'> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> <style> #main_block { margin: 20% auto auto auto; display: table; } #intro_block, #input_block { margin: 20pt 0; } </style> </head> <body> <form action='stat.pl' method='post'> <input type='hidden' name='_mod' value='hotspot'> <div id='main_block'> <div id='intro_block'> Для получения доступа в интернет, введите номер карты пополнения счета </div> <div id='input_block'> <input autocomplete='off' value='' name='_card' type='text'> <input type='submit' value='{{lang::btn_enter}}'> </div> </div> </form> </body> </html>
Тестирование:
- Тестовым компьютером подключаемся к вашему wifi
- Убеждаемся, что выданный ip есть в биллинге в пуле ip и у него стоит тег hotspot
- Открываем в браузере например http://beer.com
- Данный запрос должен перехватиться модулем заглушки и должен произойти редирект на http://ван_сайт/cgi-bin/cap.pl
- Должна отобразиться страница с предложением ввода карты пополнения счета
- После ввода корректного кода, должен быть предоставлен доступ в интернет
При этом:
- В группе hotspot должна создастся учетка со случайным именем
- У нее должна быть подключена услуга hotspot