|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Anton V. Yuzhaninov 2:5020/400 08 Mar 2004 22:59:41 To : Alexander V. Zinin Subject : Re: ipfw, in(out), сколько раз проходит траффик ? -------------------------------------------------------------------------------- Hello, Alexander! You wrote to Anton V. Yuzhaninov on Sat, 6 Mar 2004 11:05:31 +0000 (UTC): AVZ> Hello, Anton! AVZ> You wrote to Alexander V. Zinin on Fri, 5 Mar 2004 19:23:32 +0000 AVZ> (UTC): AVY>> В целом правильно. AVY>> Hо трафик который идет через HАТ, лучше считать на внутреннем AVY>> интерфейсе, чтоб можно было сделать разбивку по внутренним адресам. AVY>> И разница in или out все же есть. AVZ> Да, я тоже считаю, что правильно. Только возникла одна проблема. AVZ> Провайдер предоставляет доступ в интернет и во внутреннию сеть. AVZ> Траффик делится на внутренний и внешний, входящий и исходящий. AVZ> У меня выход в сеть на rl1, а с rl0 через ipnat два компьютера выходят AVZ> в сеть. Задача, посчитать траффик, для двух компьютеров, для сервера и AVZ> траффик в целом. Каждые 5 минут скрипт снимает показания счётчиков и AVZ> записывает в БД и обнуляет счётчики. Почему-то биллинг провайдера AVZ> считает, что я потратил больше. Для 50 Мб внешнего входящего траффика, AVZ> он насчитал 52 Мб. чтоб имет цифры которые можно сравнивать со статистикой провайдера в самом начале нужно поставить два правила: ipfw add count all from any to any in via rl1 ipfw add count all from any to any out via rl1 Первая цифра должна совпадать достаточно точно, а вторая будет завишена, поскольку учтет и те пакеты, которые далее будут дропнуты, поэтому более удобно для учета трафика использовать такие системы как ipcad, trafd, ng_ipacct AVZ> gsp# cat /etc/ipfw.sh AVZ> #!/bin/sh AVZ> # Flush all rules AVZ> ipfw -f flush AVZ> CTV="{ 10.0.0.0/8, 217.10.32.0/20 }" AVZ> Internet="{ not 10.0.0.0/8, 217.10.32.0/20, 192.168.1.0/24, AVZ> 192.168.2.0/24, 192. 168.100.0/24 }" AVZ> # allow all in lo0 AVZ> ipfw add allow all from any to any via lo0 AVZ> # allow layer2 packets AVZ> ipfw add allow all from any to any layer2 AVZ> # client: 1, IP: 192.168.1.2 AVZ> ipfw add count all from ${Internet} to 192.168.1.2 in AVZ> ipfw add count all from 192.168.1.2 to ${Internet} in AVZ> ipfw add count all from ${CTV} to 192.168.1.2 in AVZ> ipfw add count all from 192.168.1.2 to ${CTV} in AVZ> ipfw add allow all from any to 192.168.1.2 AVZ> ipfw add allow all from 192.168.1.2 to any лучше наверно так: ipfw add count all from ${Internet} to 192.168.1.2 in via rl0 ipfw add count all from 192.168.1.2 to ${Internet} in via rl0 ipfw add count all from ${CTV} to 192.168.1.2 in via rl0 ipfw add count all from 192.168.1.2 to ${CTV} in via rl0 ipfw add allow all from any to 192.168.1.2 ipfw add allow all from 192.168.1.2 to any Хотя если использовать ipnat то возможно via не нужно. Я не совсем точно представляю порядок прохождения пакетов при совместном использовании ipfw и ipnat -- Anton V. Yuzhaninov. E-mail: citrin@mail.ru Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/64881b692491.html, оценка из 5, голосов 10
|