LINUX.ORG.RU
ФорумAdmin

подсчет трафика iptables не работает


0

0

Ситуация:

1) К провайдеру соединияется через VPN получаем IP
который он выдал делаем так
/sbin/iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j SNAT --to-source $IP

2) Поднят VPN сервер к нему конектятся клиенты получают ип в диапазоне 10.10.10.0/24 (см. п. 1)

3) Значит к VPN юзерам инет пошел и все прекрасно теперь
я его посчитать хочу делаю так:
`$iptables -N IN_BILL`;
`$iptables -N OUT_BILL`;
`$iptables -F IN_BILL`;
`$iptables -F OUT_BILL`;
`$iptables -A INPUT -j IN_BILL`;
`$iptables -A OUTPUT -j OUT_BILL`;
`$iptables -A FORWARD -j IN_BILL`;
`$iptables -A FORWARD -j OUT_BILL`;

и потом для каждого VPN клиента делаю

`$iptables -A IN_BILL -s $CLIENT_IP`;
`$iptables -A OUT_BILL -s $CLIENT_IP`;


4) Начинаетется херня!!! Весь траф бежит в FORWARD
вроде а в INPUT и OUTPUT вообще не попадает так как мне
подсчитать этот самы трафф????

Спасибо

anonymous

а разве пакеты в NAT идут не через FORWARD ?
ИМХО, все натящиеся пакеты так идут. Так что в input и output ничего
не попадает ....

anonymous
()
Ответ на: комментарий от anonymous

А не подскажите команду для вывода результатов измерений, т.е. команду показывающую к примеру обьём трафика через BILL_IN, просто найти тот топ не могу в котором это было описано.

Заранее сенкс!!!

cyclon ★★★★★
()
Ответ на: комментарий от cyclon

Вывод результатов на перле

============================================

my %data_in = ();
my $stuff_in = `/sbin/iptables -L -Z BILL_IN -v -x`;
my @IPTBMASS_IN = split(/\n/,$stuff_in);

foreach(@IPTBMASS_IN)
{
$_=~s/(anywhere|any|--|all)//g;
$_=~s/\s+/ /g;
$_=~s/^ (.*)/$1/g;
$_=~s/(.*) $/$1/g;

if($_ =~ /([0-9]+) ([0-9]+) (.+)/)
{
$data_in{"$3"} = $2;
}
}
============================================

получитсья что в data_in{IP} = трафик в байтах

при условии что в $stuff_in попало что-то типа


============================================
Chain IN_LOBSTER_BILL (8 references)
pkts bytes target prot opt in out source destination
0 0 all -- any any anywhere 10.10.10.10
0 0 all -- any any anywhere 10.10.10.102
0 0 all -- any any anywhere 10.10.10.110
0 0 all -- any any anywhere 10.10.10.117
10 4922 all -- any any anywhere 10.10.10.101
16 11552 all -- any any anywhere 10.10.10.1
0 0 all -- any any anywhere 10.10.10.9
26 16474 all -- any any anywhere 10.10.10.0/24

============================================

anonymous
()
Ответ на: комментарий от anonymous

Ах да нашел решение свой же проблемы =) вобщем долго писать ...считайте что топик закрыт

anonymous
()
Ответ на: комментарий от cyclon

В цепочку input и output попадают лишь пакеты идущие непосредственно к компу, а все другие если не ошибаюсь идут через PREROUTING->FORWARD->POSTROUTING а т о что ты пытался делать было бы корректно для ipchains а не для iptables

bobych
()
Ответ на: комментарий от bobych

Да я теперь все сделал через FORWARD с указанием отправителей и получателей короче все заработало как я и хотел!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.