Jump to content
Local
Alexey Osipov

Веб-авторизация для Stargazer

Recommended Posts

Всем привет!

 

Есть небольшая компания, которая хочет контролировать использование интернета своими сотрудниками (~30 пользователей). Авторизация пользователей по IP/MAC ненадежна. Поднятие PPPoE приведет к трудностям как для пользователей (надо "подключать" интернет), так и для админа (шлюз по умолчанию для пользователей после подключения PPPoE изменится и трафик пойдет через него => на сервере придется специальным образом обрабатывать доступ к внутренним ресурсам). squid-авторизация решает вопрос только для http-трафика и только если squid непрозрачный (а непрозрачный squid опять же геморрой для пользователей). Поэтому есть мысль использовать веб-авторизацию.

Значит идея следующая. Пишем для Stargazer новый модуль авторизации, который содержит в себе свой маленький https-сервер. Неавторизованный пользователь заходит на этот https-сервер и вводит там логин/пароль. Плагин аутентифицирует пользователя, и у последнего появляется интернет. Разлогинится можно на той же странице. Кроме того, после авторизации плагин помещает пользователя в специальный список и начинает следить за количетством потребляемого пользователем трафика. Если за последние N минут пользователь не потребил ни одного байта трафика, происходит автоматическое разлогинивание.

 

На шлюзе при этом настроен автоматический редирект неавторизованных пользователей, которые ломятся на любой 80-й порт, на эту страницу авторизации. В итоге для пользователей никаких дополнительных настроек - захотел в инет, заходишь на сайт, тебя редиректит на страницу логина, логинишься там, тебя редиректит обратно на сайт.

 

Я было собрался всё это запилить, но у меня странное ощущение, что задача-то вобщем не новая. Может быть есть какие-то типовые решения на этот счет?

Share this post


Link to post
Share on other sites

Поднятие PPPoE приведет к трудностям как для пользователей (надо "подключать" интернет)

 

Пишем для Stargazer новый модуль авторизации

вы не логичны

Share this post


Link to post
Share on other sites

Всем привет!

 

Есть небольшая компания, которая хочет контролировать использование интернета своими сотрудниками (~30 пользователей). Авторизация пользователей по IP/MAC ненадежна.

у вас там корпорация хакеров которая ради пары лишних байт полезет менять себе мак ?:) Или чем она ненадёжна ?

Share this post


Link to post
Share on other sites

Пропишите каждому пользователю МАК на порту свича. Или используйте opt82.

Share this post


Link to post
Share on other sites

Captive portal в общем вы хотите. Круто че.

Несмотря на странноватую мотивацию про 30 юзеров и офисную сеть - идея вполне хорошая и будет востребована, хотя немного в другом ключе. Не так давно, чисто из интереса пилил такое на pfsense + radius - но работает на практике, это мягко говоря странновато. Свое родное - было бы на порядок круче и не требовало бы двух раздельных тазов.

 

P.S. а почему именно свой вебсервер тащить? Можно же сделать обертку над урезанным консольным авторизатором - это должно на порядок упростить реализацию, не?

Edited by nightfly

Share this post


Link to post
Share on other sites

Плюсану по поводу внешнего веб-сервера. А авторизацией можно рулить через Always Online.

Share this post


Link to post
Share on other sites
. А авторизацией можно рулить через Always Online.

Какраз нехорошо, ибо насколько помню auth_ao не совместим с айпишками в виде *, или через запятую. Там по духу однозначно auth_ia в контексте хотспото-образности ближе.

Edited by nightfly

Share this post


Link to post
Share on other sites

Так можно ж предварительно конфигуратором пнуть чтобы айпиху запилить.

Share this post


Link to post
Share on other sites

 

 

Так можно ж предварительно конфигуратором пнуть чтобы айпиху запилить.

Ну да, это было бы вполне извращением в моем стиле :)

Share this post


Link to post
Share on other sites

Сердечно благодарю за мнения!

 

Я таки почти одумался и вернулся к рассмотрению варианта с привязкой IP/MAC.

 

аторизатор старгейзера не канает ?

Авторизатор старгейзера хорош, но опять же дополнительное ПО на конечных машинах.

 

Пропишите каждому пользователю МАК на порту свича. Или используйте opt82.

+, но по условиям задачи у нас неизвестно какие свичи.

 

Captive portal в общем вы хотите. Круто че.

ВО! Я теперь знаю, по какому слову гуглить. Спасибо! :)

 

P.S. а почему именно свой вебсервер тащить? Можно же сделать обертку над урезанным консольным авторизатором - это должно на порядок упростить реализацию, не?

+, а ещё я внезапно вспомнил про CGI.

Но вообще изначально хотел заюзать вот это: https://www.gnu.org/software/libmicrohttpd/Вроде как раз для этих целей. Не C++ правда, но.

 

Плюсану по поводу внешнего веб-сервера. А авторизацией можно рулить через Always Online.

Always online как-раз не очень по причинам, озвученным нашим пытателем единорогов. :)

Share this post


Link to post
Share on other sites

не понимаю, почему так много критики

у меня уже несколько лет сделано так:

есть "небольшой веб-сервер" на перле, который сидит на 81 порту. для неавторизированных пользователей - редирект с 80 и 443 порта на 81

веб сервер отдает одну страничку: введите имя-пароль и "включен постоянно"

если "включен постоянно", то запоминаем ИП+МАК и в дальнейшем веб-сервер при появлении трафика от абона автоматом включает его

по крону периодически проверяю трафик абона, если долгий простой - то выключаем через sgconf

вначале пробовал динамические адреса: устанавливал ИП перед включением, потом остановился на статических

 

работает - проблем особых нет

сеть: 1,5к абонов

Share this post


Link to post
Share on other sites
не понимаю, почему так много критики

Позырил в календарик, и О УЖАС - 2015-й год на дворе. Давно существуют более приемлемые и вменяемые способы ААА для абонентов.

Кэптив обертки имеют смысл только в вот таких вот публично-офисно-хотспотных решениях, ну или где динамикой сильно пахнет.

 

 

 

по крону периодически проверяю трафик абона, если долгий простой - то выключаем через sgconf

Сами догадаетесь, почему это стремота-стремная, или намекнуть?

 

 

работает - проблем особых нет

сеть: 1,5к абонов

Я не знаю что можно сделать, при таком размере абонбазы, чтобы что-то не работало.

Edited by nightfly

Share this post


Link to post
Share on other sites

...

работает - проблем особых нет

сеть: 1,5к абонов

Ad-hoc решения всегда для кого-то работают. А представьте что у вас 10 сетей в пяти городах и трех странах, физики/юрики, схемы тарификации разные...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Impulsee
      День добрый!
      Есть Связка Ubilling+NAS на freebsd. 
      Настроена на Виртуалке VMware. 
      Без VLAN все работает идеально. Трафик бегает, IP раздается, Денюжка зачисляется и т.д.
      Появилась потребность поднять 3 VLAN на локальном интерфейсе для Абонов. 
      Сделал: /etc/rc.conf
       
      Вывод /etc/firewall.conf 
       
       
      Сети, шаблоны NAS, в биллинге прописал. Абоны IP получают через VLAN. Интернет есть....
       
      НО:
       
      При отрицательном балансе на em1 все отключается мгновенно, и отправляет в кабинет. 
      А на VLAN сетях Интернет есть. 
       
      Кусок /var/stargazer/allconnect.log

       
      кусок /var/log/stargazer.log
       
       
      Подскажите, плиз, в какую сторону копать?
       
    • By mac
      Добрый день всем!
      Прочитал в вики про Stargazer 2.409 о том, что "реализованы плавающие периоды тарификации".
      Это то, что я думаю??? (пример) :
       
      Где, кроме исходного кода, можно узнать более подробно, какие параметры использовать? В документации к Stargazer 2.408 не нашел или не увидел.
    • By ppv
      Підкажіть будь ласка яким чином генерується Платіжний ID, а це в мене в деяких абонентів 10 цифр а в деяких 9?
       
       
    • By ppv
      В 79 строці файлу https://github.com/nightflyza/Ubilling/blob/master/openpayz/frontend/ipayx/index.php
      79   $customerId = $transactionInfo->acc;
      Так не працює, але якщо acc замінити на order тоді все гуд.
    • By pavlabor
      Почитал вопросы возникающие вокруг работы ubilling и понял что проблемы связаны с архитектурой  Stargazer
      Насколько я понял проблем очень много, некоторые из них.
      Stargazer работает с базой в памяти и при параллельной работе с базой возникают конфликты с работой, например с внесением оплаты другим приложением.
      При остановке Stargazerа или биллинга идет сбой работы Насов.
      Текущая архитектура может стать ограничением по количеству возможно обслуживаемых клиентов.
       
      Проблемы не все, но этих достаточно чтобы задуматься о альтернативе написания эмулятора  Stargazer-а.
      Мое понимание, эмулятор должен выглядеть как модуль, который можно включить или выключить, или выбор работы или через Stargazer, или через внутренний модуль.
       
      Приветствуется любая критика и предложения,
      помощь в консультации и программировании.
      Спонсирование заинтересованных сторон, приветствуется.
×