LINUX.ORG.RU
ФорумAdmin

Учёт трафика на iptables

 


1

2

День добрый!

Имеется сервер, работающий в режиме шлюза. В нём 2 интерфейса: eth0, смотрящий наружу, и eth1, смотрящий в 192.168.0.0/24. Трафик идёт через iptables.

Как можно организовать учёт трафика для каждого узла локальной сети?

Заранее спасибо.


Ответ на: комментарий от sin-ok

Не совсем то: мне нужно знать трафик по каждому пользоватею локальной сети. Пока вижу единственный вариант - создать на каждого по правилу.

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

pmacct + netflow(модуль на iptables - ipt_netflow) + гора скриптов.

Или взять готовый биллинг, типа Abills и прописать там всех пользователей как IPoE, через netflow соответственно считать

Pinkbyte ★★★★★
()

Это пишется за пару часов на баше/перле/любом любимом языке с инвоками iptables -L и парсингом нужных столбцов. В целом - для каждого пользователя в -t filter -A FORWARD создаёшь цепь с красивым именем, в котором будут два правила на вход/исход по айпишнику, и дальше уже кроном собираешь стастистику. Проще сразу, после сбора делать -Z, чтоб не мудохаться с пересчётом по случаю перезагрузки и доп. расчетами, будешь получать данные за период, который выставлен в кроне.

В серьёзных проектах, с BRAS собирается статистика по snmp/netflow/etc и парсится на отдельной машинке.

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

А какой смысл городить iptables правила всё такое прочее, если можно использовать darkstat + фильтры. - Вроде весьма гибко, и очень быстро. Не надо ничего писать, всё вроде готово.

Кроме приколов. Может есть какие-то приемущества? Я их вообще не вижу, разве что вижу большую нагрузку на CPU iptables ...

DALDON ★★★★★
()
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Боги вас покарают за использование libpcap для сбора статистики. Из моих опытов, на средней навороченности железке libpcap даёт существенное проседание скорости прохождения пакетов уже на уровне 10-15мбит. То есть при скоростях выше он замедляет обмен и если человеку должно литься, например, 30мбит, он получает 15-20. А всё из-за того, что интерфейс в promiscious (в худшем случае, не знаю, как сейчас, года полтора назад он переводил его обязательно в этот режим) с дублированием всего потока в userspace, а это уже хорошая такая нагрузка на context switch ядра. Для домашнего применения, может быть, сойдёт, но торрентов тоже сильно не покачаешь с ним.

Оттого, лучше уж всё делать средствами ядра, тем более, что такая функциональность присутствует, и счётчик в iptables не грузит и не замедляет работу (доли процентов можно и не считать за нагрузку) ни на уровне драйверов, ни на уровне сетевой подсистемы.

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

простейший способ проверки - включить торрент, а на маршрутизаторе посмотреть интерфейс с помощью iptraf-ng и сравнить скорость скачивания торрента во время включения заказчки и после включения iptraf-ng. Я долго не мог понять, в чём проблема, пока не докопался до libpcap.

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