IPCAD (Cisco IP accounting simulator)
В данной статье рассмотрено решение задачи учета трафика, проходящего через шлюз локальной сети в интернет, с помощью ipcad. ipcad (Cisco IP accounting simulator) — это программа для учета трафика, которая может вести подсчет несколькими механизмами, например через интерфейсы BPF, libpcap и iptables ULOG.
Установка ipcad
Последнюю версию можно взять на сайте http://sourceforge.net/projects/ipcad/
$ tar -xvzf ipcad-3.6.6.tar.gz $ cd ipcad-3.6.6 $ ./configure $ make $ su # make install
Настройка ipcad
capture-ports - включает/отключает дополнительные поля в статистике, такие, как TCP- и UDP-порты, а также типы ICMP-пакетов.capture-ports enable;
aggregate - агрегирование IP адресов и портов. Используется для уменьшения объема статистики.
aggregate 1025-65535 into 65535; - все клиентские порты агрегировать в 65535
aggregate 3128-3128 into 3128; - порт 3128 (squid) считать отдельноaggregate 192.168.0.0/24 strip 32; - каждый адрес с 192.168.0.0 считать отдельно
aggregate 0.0.0.0/0 strip 24; - остальные агрегировать по первым 24 битам
interface - интерфейсы, на которых считается проходящий трафик.
interface eth0;
interface eth1;
Настройки rsh-сервера, с помощью которого будет просматриваться статистика.
rsh enable at 127.0.0.1;
rsh root@127.0.0.1 admin;
rsh 127.0.0.1 view-only;
rsh ttl = 3;
rsh timeout = 30;
Запуск ipcad
Запускать ipcad имеет смысл таким образом, чтобы при загрузке он восстанавливал данные о статистике из dumpfile, уходил в фон, а при выключении сбрасывал все данные в тот же dumpfile. Команда для запуска выглядит следующим образом:
ipcad -rds
где ключ:
'r' импортирует данные из dumpfile,
'd' — «демонизирует»
ipcad,
's' — сбрасывает статистику в dumpfile при выключении ipcad.
Лучше всего разместить указанную команду в один из init-скриптов
для запуска ipcad вместе с системой.
Просмотр статистики
Для управления статистикой ipcad используется rsh. Общий синтаксис команд для ipcad выглядит следующим образом:
rsh host command
где 'host' — это хост, на котором ведется статистика, а 'command' — это сама команда. В рассматриваемом случае значением 'host' является localhost.
Полный список команд можно посмотреть по команде rsh localhost help. А именно:
- show ip accounting - показать статистику
- clear ip accounting - сбросить статистику до контрольной точки. Если контрольная точка не задана, то статистика сбрасывается в ноль
- show ip accounting checkpoint - показать статистику сохраненную в контрольных точках
- clear ip accounting checkpoint - сбросить все контрольные точки
- show ip cache flow - показать кэш NetFlow
-
show interface <iface> - показать счетчик интерфейса
-
dump [<path>] - сохранить текущую статистику в файл <path>.
Если
не указывать, то статистика сохранится в dumpfile, указанный в конфигурационном файле ipcad.conf - restore [<path>] - восстановить статистику
- import [<path>] - импортировать (добавить) статистику
- stat - показать текущее состояние работы ipcad
- show version - показать версию и uptime ipcad'а
- shutdown - завершить работу ipcad