Squid + AD + NTLM + квоты трафика на пользователей



  • Понимаю, что в 2к19 не совсем актуально, но все же.
    Нужен прокси с прозрачной авторизацией в АД и чтобы каждому пользователю можно было выдать лимит мегабайт на месяц, при достижении которого он автоматом отключался.
    Я так понял, что из коробки ни ntlm, ни kerberos не поддерживается, но по-идее вогнать pfsense в домен и поправить конфиги сквида не должно быть непосильной задачей, а вот как лимитировать пользователей? Видел народ раньше ставил Lightsquid + скрипт, но ежеминутно генерить отчеты... не слишком ли это будет нагружать систему? Кто-нибудь настраивал такую связку на последнем pfsense? И может можно как-то по другому обрубать пользователей?



  • Может быть, использовать captive portal? Его можно связать с AD через радиус, вроде бы



  • Щас почитал про CP - везде пишут про лимиты по скорости, а вот про мегабайты чет пока не увидел.
    Хотя вот чето нашел:
    This will make sure that there could only be one connection with this username/password.

    reauthenticate users every minute:

    Enable this on CP so users will be disconnected if their Amount of Time or Amount of Traffic is reached.

    Traffic limits:

    To set traffic limits in FreeRADIUS that can be tracked during sessions, enable Interim on Captive Portal Accounting Updates. Stop/Start (FreeRADIUS) can also be used, but the traffic counter only counts on accounting stop packets which in general will only be sent from NAS to FreeRADIUS when the client disconnects, so it is not useful during sessions but only to prevent future sessions.

    Amount of Traffic
    It is possibile to give a user a certain amount of traffic (upload and download is summatized). The configuration for FreeRADIUS and Captive Portal is the same as for Amount of Time from above.

    Только вот на сколько я понял аутентификация в радиусе не прозрачна и это проблема.



  • @Angus Как "дикий вариант" , если хочется сделать самому и есть навык написания скриптов , то можно сделать свою простенькую биллинговую систему
    Схема , в моем понимании , выглядела бы так

    1. используем связку Netgraph + модуль ng_netflow
      https://www.freebsd.org/cgi/man.cgi?query=ng_netflow
    2. дальше берем какой-нить netflow коллектор, например, flow-tools ( на сторонней ам , чтобы не грузить pf)
    3. данные с коллектора грузим скриптом ( или программой) в базу данных ( например, mysql)
    4. раз в минуту по cron-у запускаем скрипт , который бы выбирал данные из базы по хостам , которые превысили трафик ) и дальше уже тут варианты
      или блокировать юзера по имени или по ip до конца месяца


  • "RADIUS MAC Authentication" method will try to authenticate devices automatically with their MAC address without displaying any login page.

    Вот прямо в самих настройках СР нашел такое. Если я правильно понимаю, то это и есть прозрачная аутентификация... Только теперь вот это смущает:

    Traffic quota (Megabytes)
    Clients will be disconnected after exceeding this amount of traffic, inclusive of both downloads and uploads. They may log in again immediately, though. Leave this field blank for no traffic quota.

    Вот тут чето смысла не вкуриваю. Выдается квота, клиент ее превышает и его отключает от интернета, но он тут же может залогиниться заново и все пойдет сначала?



  • Добрый.

    @Angus
    Есть такая штука https://www.pf2ad.com/
    Сейчас платно (можно связаться с автором), но по ссылке есть гитхаб.
    Там лежит версия для пф 2.4.3. Если качнуть скрипт, то в нем можно поправить\удалить проверку на версию пф. Попробуйте.

    P.s. Как я понимаю, для квотирования в домене по трафику с пакетом pf2ad нужно в свойствах учетной записи пол-ля указать\создать новый параметр для указания квоты. И дальше работать с ним.


Log in to reply