Gorbushka Posted April 12, 2016 Posted April 12, 2016 Уважаемое сообщество. Использует ли кто-то тут captive portal от unifi? Мы уже пару лет используем unifi для организации бесплатного wifi в городе. До сих пор пользовались своей реализацией механизма перенаправления пользователя на captive portal. Но наш механизм не позволяет перенаправлять https запросы. Вот решили использовать стандартные guest policy от unifi. В нормальной ситуации это выглядит это так: -пользователь подключается к нашему SSID, пытается выйти в интернет, тока доступа на любой его запрос в браузере перенаправляет его на captive portal. -Пользователь должен нажать на кнопку "Включить интернет", -скрипт через api шлёт контроллеру mac пользователя, -контроллер отмечает гостевой mac как Authorized и пользователь пользуется интернетом. Однако, в некоторых случаях контроллер "не видит" такого мака у себя, при этом скрипту отвечает, что mac авторизован. Пользователя при этом постоянно перенаправляет на captive portal. Проходит некоторое время и контроллер обнаруживает гостя, отмечает мак как authorized и пускает его в интернет. Типичный лог [2016-04-06 20:53:49,843] <webapi-30> INFO event - [event] Guest[24:0a:11:73:fa:c7] is authorized by Admin[autoapi] for 120 minutes [2016-04-06 20:54:04,931] <webapi-102> INFO event - [event] Guest[24:0a:11:73:fa:c7] is authorized by Admin[autoapi] for 120 minutes [2016-04-06 20:54:13,835] <webapi-80> INFO event - [event] Guest[24:0a:11:73:fa:c7] is authorized by Admin[autoapi] for 120 minutes [2016-04-06 20:54:21,951] <webapi-200> INFO event - [event] Guest[24:0a:11:73:fa:c7] is authorized by Admin[autoapi] for 120 minutes [2016-04-06 20:54:28,770] <webapi-45> INFO event - [event] Guest[24:0a:11:73:fa:c7] is authorized by Admin[autoapi] for 120 minutes [2016-04-06 20:54:34,597] <webapi-194> INFO event - [event] Guest[24:0a:11:73:fa:c7] is authorized by Admin[autoapi] for 120 minutes [2016-04-06 20:54:55,598] <inform_stat-85> INFO event - [event] Guest[24:0a:11:73:fa:c7] has connected to AP[dc:9f:db:1a:9b:a8] with ssid "OpenPowernet" on "channel 1(ng)" [2016-04-06 20:54:55,639] <inform_stat-85> INFO guest - [guest re-authorize] 24:0a:11:73:fa:c7 on uap[dc:9f:db:1a:9b:a8] [2016-04-06 20:54:55,710] <inform-128> INFO inform - <<< [cmd authorize-guest] dev[dc:9f:db:1a:9b:a8] { "_id" : "57053f5feaa19f060482367c" , "_type" : "cmd" , "cmd" : "authorize-guest" , "datetime" : "2016-04-06T16:54:55Z" , "device_id" : "5236fa2ec01c24dcc554eb02" , "mac" : "24:0a:11:73:fa:c7" , "server_time_in_utc" : "1459961695709" , "time" : 1459961695600} [2016-04-06 20:55:53,524] <webapi-47> INFO event - [event] Guest[24:0a:11:73:fa:c7] is authorized by Admin[autoapi] for 120 minutes [2016-04-06 20:55:53,545] <inform-11> INFO inform - <<< [cmd authorize-guest] dev[dc:9f:db:1a:9b:a8] { "_id" : "57053f99eaa19f06048236d5" , "_type" : "cmd" , "cmd" : "authorize-guest" , "datetime" : "2016-04-06T16:55:53Z" , "device_id" : "5236fa2ec01c24dcc554eb02" , "mac" : "24:0a:11:73:fa:c7" , "server_time_in_utc" : "1459961753545" , "time" : 1459961753525} Вопросы: Кто-то использует unifi контроллер для таких целей? Сталкивались ли с такими глюками? Если не используете unifi контроллер, то какими средствами перенаправляете http и https трафик на captive portal? Вставить ник Quote
SSD Posted April 12, 2016 Posted April 12, 2016 Если не используете unifi контроллер, то какими средствами перенаправляете http и https трафик на captive portal? Как вариант микротик хотспот. Вставить ник Quote
StSphinx Posted April 13, 2016 Posted April 13, 2016 Тоже столкнулся с тем, кто контроллер не сразу видит mac клиента. Как мне кажется, надо трясти разработчиков. Вставить ник Quote
Gorbushka Posted April 13, 2016 Author Posted April 13, 2016 я обратился в саппорт сразу, недели две назад. Но после бесполезных советов типа "создайте SSID" заявку типа передали в "internal team". Но вот уже неделю от них нет вестей. Вот ещё я поднял тему у них на форуме http://community.ubnt.com/t5/UniFi-Wireless/Authorization-PHP-script-runs-OK-but-client-not-shown-as/m-p/1536036/highlight/false#M155717 . Но не сразу заметил, что у топик-стартера немного другая трабла была Вставить ник Quote
StSphinx Posted April 14, 2016 Posted April 14, 2016 Мы в саппорт не обращались. Обошли следующим образом - запрос на контроллер о наличии соответствующего MAC'а портал отправляет только после ввода клиентом номера телефона(у нас самописный портал). К этому моменту, с высокой степенью вероятности, контроллер уже знает MAC. Вставить ник Quote
Gorbushka Posted April 14, 2016 Author Posted April 14, 2016 У нас портал тоже самописный, но не хотим каждый раз мучать абонента вводом телефона и запоминаем связку mac-телефон на полгода. Сейчас оптимизировал код на php, который авторизует абонента и стал указывать мак-точки в вызове метода authorize_guest. И вроде заработало! Пока задваиваний нет. Если всётки всплывёт глюк, то планирую лезть на точку через ssh и вписывать мак пользователя вручную в фаервол. Затем, конечно, контроллер его ещё раз добавит. Но судя по моим тестам, по истечении времени авторизации удаляет он сразу обе записи. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.