Господа, подскажите как заставить ipchains писать в логи инфу о пакетах. Если конкретно, то мне нужно просто знать сколько с каждого ip из внутр.сетки было выкачано интернетовского трафика. Т.е. кто сколько накачал.
Как бы все просто. Создаем правила под каждую категорию пакетов, которые хотим отслеживать (указывать -j TARGET не обязательно). Смотрим вывод ipchains -xnvL : для каждого правила в начале выводится число пакетов и байт, которые этому правилу соответствуют. Енто то, чего хоцца?
Ну не совсем. Хотца иметь лог-файл (именно файл, ибо маршрутизатор бывает перезагружается по разным причинам), в котором была бы вся инфа по тому кто (внутр. IP) когда (дата/время), откуда (внешн.IP) и сколько (байт) качал, включая все tcp и udp протоколы, т.е. не только www, но и всякие там игрульки типа CounterStrike, ftp и прочее.
Мгм... Как Вы себе это представляете? Силами ipchains можно писать
информацию о каждом пакете, конечно. Но лог будет ну ОЧЕНЬ большой.
А силами скриптов и crond можно обновлять статистику хоть раз в 10
минут. А при старте проверять - был корректный даун системы (с записью
статистики и созданием флаг-файла) или отрубилось электричество. В
общем и целом - аккуратно написать скрипт и все дела. Другое дело, что
Ваш покорный слуга, например, этого для себя до сих пор не сделал
(впрочем и не очень нужно):)
А ежели на UPSе висим - так вообще проблем нет. Система ВСЕГДА будет
корректно выключена. Достаточно записи статистики, когда она
отрабатывает /etc/rc.d/init.d/ipchains stop.:)
Висим-то на UPSе, но не на SmartUPS, а BackUPS, так что корректного выключения так и так не получается ... :-( Ну а если, скажем, писать лог средствами ipchains, а потом скриптом обрабатывать его (по cron) и писать результат в БД, например mysql ? Видите ли, я не крутой спец по линуксу, а весьма средней руки юзер, но при этом программист, так что такой скрипт накидать для меня не проблема, настроить cron тоже, а вот как заставить писать ipchains в логи я так и не понял ...