[Comm] Re: [Comm] billing для inet cafe

Evgeni Kobzev =?iso-8859-1?q?evgenik_=CE=C1_diamonds=2Eru?=
Ср Фев 5 12:55:21 MSK 2003


----- Original Message -----
From: "Korshunov Ilya" <kosha на Kp.ru>
To: <community на altlinux.ru>
Sent: Wednesday, February 05, 2003 10:54 AM
Subject: Re: [Comm] billing для inet cafe


> В сообщении от 5 Февраль 2003 10:51 vic ismakaev написал:
> > Там еще одна вещь выплывает - продаем 1 час, но не более 20 Мб.По
> > истечении одного из лимитов - клиент отрубается.Причем моментально.В
> > ISP такого не предусмтривается,как правило.
>
> А такое вообще в природе (opensource) есть ? Что-то сомневаюсь....

Такое самому написать, особых проблем не вижу.

Навскидку.

Таблица (любого формата, хоть в Oracle :):
IP
лимит траффика (в байтах)
лимит времени (в секундах)

Веб или консольная морда к этой табличке, чтобы у IP
можно было менять лимит траффика и времени.

Добавить в iptables цепочки:
запрет работы
счётчик траффика

iptables -N stop
iptables -N traffic
iptables -A FORWARD -j stop
iptables -A FORWARD -j traffic
iptables -A stop -j DROP
iptables -A traffic -j DROP
повторяем для каждого IP с которого могут выйти в инет:
iptables -I traffic -s $IP -j ACCEPT

По крону каждую минуту пускать скрипт который:
собирает траффик с цепочки "счётчик траффика"
уменьшает оставшийся траффик
уменьшает оставшееся время на 60 сек. :)
проверяет траффик и время на =< 0
соответствующим образом корректирует цепочки
(вся коррекция сводится к добавлению или удалению правила в цепочку "запрет
работы")
iptables -I stop -s $IP -j RETURN

Вот и всё :) Но каков простор для фантазии :)
Делов то - сесть и написать :)
Глядишь, и появится на SourceForge новый проект для "inet cafe" :)




Подробная информация о списке рассылки community