The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каркас простой системы ограничения трафика на базе iptables и squid (traffic linux iptables limit squid)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: traffic, linux, iptables, limit, squid,  (найти похожие документы)
Date: Tue, 14 Sep 2004 20:55:04 +0600 From: Slava Gorbanev <Slava_Gorbanev@p20.f19.n5057.z2.fidonet.org.> Newsgroups: ftn.ru.linux Subject: Каркас простой системы ограничения трафика на базе iptables и squid DK> есть сеть, есть машина с двумя интерфейсами, стоит ipchains, nat. DK> Работает ужо достаточно долго времени, тут срочно понадобилось DK> некоторая модернизация, то есть надо на этой машие еще считать DK> трафик, по достижении некторого обьема трафика для конкретного ip DK> отрубать машину (например на 10 метров в день для одной и 30 метров DK> в день для другой, то есть нужны группы для разбиения), плюс DK> к этому прокси-сервер. Вот в связи с этим надо наименнее DK> безболезненный способ модернизации ПО. В принципе проблемм нет, но DK> все мои решения упираются в одно - не получается полной DK> автоматизации, а так как именно этот фактор решающий прошу совета. у меня сделано так -- в iptables считается трафик: -A FORWARD -d 192.168.1.0/24 -j COUNT -A OUTPUT -d 192.168.1.0/24 -j COUNT # это если ходят через сквид -A COUNT -s 192.168.1.1 -d 192.168.1.XXX -p tcp -m tcp --sport 3128 -j RETURN # это все остальное -A COUNT -s ! 192.168.1.0/24 -d 192.168.1.XXX -j RETURN тут считается раздельно трафик через прокси и прямой (как правило, почта). раз в N минут запускается скрипт примерно такого вида, который проверяет эти счетчики: #!/bin/bash # лимит в байтах LIMIT=14000000 iptables -L COUNT -vxn | tail +3 | while read pkts bytes target prot opt in out src dst rest; do if [ "$bytes" -gt $LIMIT ]; then # здесь выполняется какое-либо действие # в случае превышения лимита, например touch "/var/local/traffic/${dst}" fi done как видим, скрипт простейший, лимит у всех одинаковый. элементарно на перле или чем угодно пишется скрипт с персональными лимитами. кроме этого в сквид встроен скрипт-редиректор, который на каждый запрос смотрит в /var/loca/traffic/$SRC_IP, и если находит там такой файлик, выдает пользователю страничку "вами превышен лимит". если надо вообще отрубить машину, то можно в качестве действия добавлять запрещающие правила в iptables. ну и каждую ночь счетчики и флаги обнуляются.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, Александр (??), 12:13, 26/07/2006 [ответить]  
  • +/
    напиши полную документацию.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру