Учет трафика. Выделение определенного лиl



  • Доброго времени суток, уже неделю разбираюсь с pfsense и она работает почти как я хочу. Для полного счастья не хватает совсем чуть-чуть.
    Опишу как у меня организовано сейчас. Небольшая организация, интернет от обоих провайдеров лимитированный и по этому одним пользователям он не доступен, другим доступен с определенным дневным лимитом, а некоторым пользователям он доступен без всяких ограничений (в данном случае под интернетом подразумевается трафик по 80-му порту). Также почта и аська раздается всем желающим. Все остальное запрещено. Это все организовано при помощи виндовой программы tmeter - ведутся логи, в общем осуществляется бдительный контроль.
    Аналогичное хотелось бы сделать и при помощи pfsense, но только ума не приложу каким образом организовать выделение того самого дневного лимита для конкретных пользователей??? Squid я так понимаю proxy с возможностью протоколирования движения пакетов, и в нем я только ВИЖУ, кто сколько накачал - ОГРАНИЧИВАТЬ не могу?
    В какую сторону копать?



  • К сожалению в pfSense биллинг не предусмотрен. Ограничения по трафику нет.



  • как вариант, можно урезать скорость.



  • А какие-нибудь дополнительные пакеты или может быть скриптами можно отлавливать эти события? Кстати в каком виде squid свою базу хранит?



  • @mrkot:

    Кстати в каком виде squid свою базу хранит?

    В текстовом - лог файл в разделе /var/…



    1. есть lightsquid, который с помощью ipcad можно заставить считать весь трафик (тут поднималось и не раз)
    2. тебе нужно парсить логи lightsquid, если больше определенной суммы для юзера, добавлять правило в firewall "deny all from ip to any"
    3. в 00:00 сбрасывать правила
    4. ????
    5. PROFIT!!!


  • lightsquid я поставил и трафик он считает и складывает отчеты в /var/lightsquid/report. В этом каталоге идет разбивка по дням (подкаталоги), а уже в них файлы с конкретными IP, и первая строчка этого файла total: 200297 (размер полученных данных в байтах). Т.е. я так понимаю - это как раз, то что мне нужно! Значит мне нужно написать скрипт, который будет каждую минуту например, проверять файлы с определенными IP (тех у кого есть ограничения на трафик), и если значение превышает лимит - то нужно создавать правило. С просмотром файлов я наверное разберусь, а вот как из скрипта правила добавлять?



    1. Не понял, зачем ты переписал то что я сказал, только другим словами?
    2. man pfctl


  • Это мысли в слух ;) - если не правильно думаю, поправьте меня.

    Почему-то man не работает

    man

    man: Command not found.



  • @mrkot:

    Это мысли в слух ;) - если не правильно думаю, поправьте меня.

    Почему-то man не работает

    man

    man: Command not found.

    все правильно ты думаешь, man - имелось ввиду почитать/поискать…
    например вот http://www.opennet.ru/openforum/vsluhforumID10/3254.html



  • Почитал о pfctl хотел сделать блокирующее правило и динамично изменяющуюся таблицу IP адресов
    Как работать с таблицами разобрался, а вот как добавить правило использующее эту таблицу понять не могу, все статьи описывают изменения файла etc/pf.conf, но он пустой и правил там нет, где pfsense хранит правила фаервола? Можно ли при создании правила через web интерфейс указать с какой таблицей адресов оно будет работать?



  • C pfctl там можно динамически менять правила ( на лету). Достаточно иметь одну таблицу, которая прописана в блокирующем правиле - можно менять ее содержимое.
    Текущий дамп правил в /tmp/rules.debug. Можно использовать таблицу снорта. Правила его поддерживающие есть, даже если он не установлен.

    # snort2c
    table <snort2c> persist
    block quick from <snort2c> to any label "Block snort2c hosts"
    block quick from any to <snort2c> label "Block snort2c hosts"</snort2c></snort2c></snort2c>
    


  • @dvserg:

    Читай про pfctl там можно динамически менять правила ( на лету). Достаточно иметь одну таблицу, которая прописана в блокирующем правиле - можно менять ее содержимое.

    да я ему прям ссылку чуть ли не на готовое решение кинул



  • Можно использовать таблицу снорта

    То что нужно!

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



  • в свое время писал статейку http://www.opennet.ru/base/net/traf_gate.txt.html



  • @schmel:

    в свое время писал статейку http://www.opennet.ru/base/net/traf_gate.txt.html

    Я вот подумываю Free-SA освоить - не хватает уже ресурсов под LS.


Locked