From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <011f01c2ccfc$b2b75760$6600a8c0@KEVGENIY> From: "Evgeni Kobzev" To: References: <200302051223.43266.viclists@mail.esoo.ru> <200302051045.51395.kosha@Kp.ru> <200302051251.44727.viclists@mail.esoo.ru> <200302051054.31955.kosha@Kp.ru> Date: Wed, 5 Feb 2003 12:55:21 +0300 MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Subject: [Comm] =?koi8-r?Q?Re:_=5BComm=5D_billing_=C4=CC=D1_inet_cafe?= Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: ----- Original Message ----- From: "Korshunov Ilya" To: 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" :)