The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"RE: Счетчики трафика ipchains - как сохранить при перезагруз..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"RE: Счетчики трафика ipchains - как сохранить при перезагруз..."
Сообщение от Сергей emailИскать по авторуВ закладки on 15-Май-02, 14:11  (MSK)
Могут ли они считать с нарастающим итогом, несмотря на перезагрузки ?

Можно ли их при загрузке установить в какое-то значение, а не только в нуль ?

И вообще, как считать трафиг ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Счетчики трафика ipchains - как сохранить при перезагруз..."
Сообщение от and emailИскать по авторуВ закладки on 15-Май-02, 14:21  (MSK)
А зачем тебе грузить это на ipchains, они должны считать в online, потом с некоторой переодикой данные надо собирать, счетчики обнулять и данные пихать в базу, а там уж с ними делай что хочешь. У меня где то был готовый скрипт для ipchains.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Счетчики трафика ipchains - как сохранить при перезагруз..."
Сообщение от Walker emailИскать по авторуВ закладки on 15-Май-02, 16:51  (MSK)
а можешь дать ссылку ? или на мыло сбросить? Если не трудно конечно.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Счетчики трафика ipchains - как сохранить при перезагруз..."
Сообщение от and emailИскать по авторуВ закладки on 15-Май-02, 17:35  (MSK)
Пробую скинуть сюда, с некоторыми пояснениями:

Сперва надо прописать правила для ipchains:
ipchains -P input ACCEPT
ipchains -P forward DENY
ipchains -P output ACCEPT
ipchains -N traffic
ipchains -A input -j traffic
ipchains -A output -j traffic
ipchains -A forward -s 192.168.0.0/24 -i eth0 -j MASQ  ----> выпускаем все из подсетки 192.168.0.0/24
ipchains -A traffic -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT ----> отсекаем внутренний трафик
ipchains -A traffic -s x.x.x.x/x -d 192.168.0.0/24 -j ACCEPT  ----> отсекаем внешний трафик нашей внешней сети
ipchains -A traffic -s 192.168.0.0/24 -d x.x.x.x/x -j ACCEPT  ----> и в обратную сторону
ipchains -A traffic -d 192.168.0.20 -j ACCEPT -l  ----> а это правило для общета конкретной машины, флаг "-l" указывает на то что все проходящие пакеты буду протоколироваться ядром

А вот собственно сам скрипт, который собирает данные и запихивает в MySQL(!!!! только входящий трафик !!!!):

#!/usr/bin/perl

use DBI();

$ipstuff = `/sbin/ipchains -L traffic -v -x -n`;

my $dbh = DBI->connect("DBI:mysql:database=xxx;host=localhost","user", "passwd",{'RaiseError' => 1});

($min, $hours, $day, $month, $year) = (localtime)[1,2,3,4,5];

$day=sprintf("d",$day);
$month=sprintf("d",$month+1);
$year=$year+1900;

@IPMASS = split(/\n/, $ipstuff);
foreach $ipdata (@IPMASS) {
        $ipdata =~ s/\t/ /g;
        $ipdata =~ s/\s(\s*|.)\s/ /g;
        $ipdata =~ s/^ //g;
        $ipdata =~ s/\n//g;

        if ($ipdata eq "") { next; }

        $bytes = 0;
        $ip = "";

        if ($ipdata =~ /^\d* (\d*) .* (\d*\.\d*\.\d*\.\d*) \d*\.\d*\.\d*\.\d*\/\d*/ ) {
                $ip = $2;
                $bytes = $1;
        } elsif ($ipdata =~ /^\d* (\d*) .* \d*\.\d*\.\d*\.\d*\/\d* (\d*\.\d*\.\d*\.\d*) /) {
                $ip = $2;
                $bytes = $1;
        } elsif ($ipdata =~ /^\d* (\d*) .* 0\.0\.0\.0\/0 0\.0\.0\.0\/0/) {
                $ip = "all";
                $bytes = $1;
        }
                if ($ip =~ /(.*)\.(.*)\.(.*)/ || $ip eq "all") {
                        $ip =~ s/\n//g;
                        $bytes =~ s/\n//g;

                        if($bytes eq 0) {
                                        next;
                        }
                        else {
                                        $dbh->do("INSERT INTO ipchains_stat(ip, bytes, rec_date, rec_time) VAL
                        }
                }
}

$dbh->disconnect();

system("/sbin/ipchains -Z");

Все.

Так общитываю трафик для одной конторы, данные с ИП немного рознятся (конечно в его пользу), ну да бог ему судья. Да lavr ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Счетчики трафика ipchains - как сохранить при перезагруз..."
Сообщение от Серж Искать по авторуВ закладки on 16-Мрт-03, 02:21  (MSK)
>ipchains -A traffic -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT ----> отсекаем внутренний трафик
>ipchains -A traffic -s x.x.x.x/x -d 192.168.0.0/24 -j ACCEPT  ----> отсекаем внешний трафик нашей внешней сети
>ipchains -A traffic -s 192.168.0.0/24 -d x.x.x.x/x -j ACCEPT  ----> и в обратную сторону
>ipchains -A traffic -d 192.168.0.20 -j ACCEPT -l  ----> а это правило для общета конкретной машины, флаг "-l" указывает на то что все проходящие пакеты буду протоколироваться ядром

а каким образом происходит отсечение?
при разборе вывода ipchains'а у тебя совпадут реги и для  192.168.0.0/24 192.168.0.0/24 и для x.x.x.x/x 192.168.0.0/24 и для 192.168.0.0/24 x.x.x.x/x и и для 192.168.0.20 0.0.0.0. то есть в базу упадут четыре записи. или я ошибаюсь?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Счетчики трафика ipchains - как сохранить при перезагруз..."
Сообщение от yks Искать по авторуВ закладки on 16-Май-02, 15:08  (MSK)
>Могут ли они считать с нарастающим
>итогом, несмотря на перезагрузки ?
>
>
>Можно ли их при загрузке установить
>в какое-то значение, а не
>только в нуль ?
>
>И вообще, как считать трафиг ?
>
есть пакет ipac - на основе ipchains все считает

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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