|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Dmitry Ponyatov 2:5057/18.29 22 Feb 2006 19:11:36 To : Alexander Savchenko Subject : Учёт тpафика -------------------------------------------------------------------------------- AS> Пpошу пpощения за доставший всех вопpос, но в аpхиве ничего AS> путного не AS> нашёл. Посоветуйте эхотажный сабж, чтобы pаботал чеpез iptables, AS> а не чеpез AS> VPN. Одной ссылки будет достаточно. Спасибо. ставишь poptop, юзерам назначаешь фиктивные ip типа 192.168.111.xxx, для них в iptables для каждого по отдельности прописываешь iptables -A FORWARD -d 192.168.111.xxx iptables -t nat -A POSTROUTING -s 192.168.111.xxx -j MASQUERADE echo 1 > /proc/sys/net/ipv1/ip_forward 1 строчка заводит счетчик трафика для пользователя 2 позволяет включать/выключать каждого юзера отдельно (заменой MASQ.. на DROP) 3 включает NAT потом периодически запускаешь скрипт, который дергает iptables -LZnxv -A FORWARD > /tmp/tempfile() полученный вывод читаешь из файла, каждое значение счетчика пихаешь в простую СУБД типа MySQL: текущая дата/время | пользователь | счетчик когда нужно, делаешь SQL SELECT user,sum(counter) from database where timestamp=thismonth() and user = 'pupkin' group by user, получаешь статистику по трафику за выбранный период у меня такая фигня написана на Pythonских скриптах -- осваивать готовые тулзени оказалось сложнее, чем постепенно увеличивать функциональность своей наколенной поделки самый простой вариант -- в FORWARD пропиши реальные ip, в POSTROUTING включи MASQUARADE всем сразу без указания ip, а iptables -LvnxZ FORWARD сливай в текстовый файл: iptables -LvnxZ FORWARD >> /var/traf/`date +%Y%m%d` потом вытаскиваешь эти файлы например по SSH с помощью программки pscp из пакета PuTTY и потрошишь их чем под руку попадется, хоть эхселем --- * Origin: forth@km.ru (2:5057/18.29) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/24269fe7856b8.html, оценка из 5, голосов 10
|