ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: "Evgeni Kobzev" <evgenik@diamonds.ru>
To: <community@altlinux.ru>
Subject: [Comm] Re: [Comm] billing для inet cafe
Date: Wed, 5 Feb 2003 12:55:21 +0300
Message-ID: <011f01c2ccfc$b2b75760$6600a8c0@KEVGENIY> (raw)
In-Reply-To: <200302051054.31955.kosha@Kp.ru>

----- 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" :)



  reply	other threads:[~2003-02-05  9:55 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-05  7:23 vic ismakaev
2003-02-05  7:29 ` Korshunov Ilya
2003-02-05  7:42   ` vic ismakaev
2003-02-05  7:45     ` Korshunov Ilya
2003-02-05  7:51       ` vic ismakaev
2003-02-05  7:54         ` Korshunov Ilya
2003-02-05  9:55           ` Evgeni Kobzev [this message]
2003-02-05 11:33             ` [Comm] " vic ismakaev
2003-02-05  8:36 ` isa
2003-02-05 11:22   ` vic ismakaev
2003-02-05 10:24 ` Artem Pastukhov
2003-02-05 12:13   ` vic ismakaev
2003-02-05 12:24     ` Artem Pastukhov
2003-02-05 13:08       ` vic ismakaev
2003-02-05 13:19         ` Artem Pastukhov
2003-02-05 11:11 ` Vasya Borisov
2003-02-07  1:58 ` [Comm] " Michael Shigorin
2003-02-09  9:03 ` [Comm] " Alexei Takaseev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='011f01c2ccfc$b2b75760$6600a8c0@KEVGENIY' \
    --to=evgenik@diamonds.ru \
    --cc=community@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git