Инструменты пользователя

Инструменты сайта


ipcad

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

ipcad [2010/03/26 10:08] (текущий)
Строка 1: Строка 1:
 +====== ipcad ======
 +Homepage: [[http://​lionet.info/​ipcad/​|Ipcad]]
 +
 +Ipcad (Cisco IP accounting simulator) — это программа для учета трафика,​ которая может вести подсчет несколькими механизмами,​ например через интерфейсы BPF, libpcap и iptables ULOG.
 +
 +===== Задача =====
 +**Компьютер:​**<​code>​ЦП:​ Intel Celeron, 900 MHz
 +ОЗУ: 192 Мб (SDRAM)
 +НЖМД: SAMSUNG SP0411N (40 Гб, 7200 RPM, Ultra-ATA/​133)
 +OC: FreeBSD 7.2-RELEASE-p4
 +</​code>​
 +Прозрачный прокси-сервер [[Squid]] со статистикой [[LightSquid]] установлен. В лог попадает в основном http-трафик. Ipcad будет собирать статистику,​ идущем в обход прокси,​ по другим портам ([[ssh]], [[ftp]], [[jabber]] и т.д.) и сбрасывать в лог Squid. Логи Squid разбирает LightSquid.
 +
 +===== Установка ipcad =====
 +<​code>​
 +> cd /​usr/​ports/​net-mgmt/​ipcad
 +> make install clean
 +> echo '​ipcad_enable="​YES"'​ >> /​etc/​rc.conf
 +> mkdir /​var/​log/​ipcad
 +</​code>​
 +
 +===== Настройка ipcad =====
 +<​code>​
 +> ee /​usr/​local/​etc/​ipcad.conf
 +# GLOBAL OPTIONS
 +# Опция capture-ports включает/​отключает дополнительные поля в статистике,​ такие как: TCP- и UDP-порты,​ а также
 +# типы ICMP-пакетов. Однако включение данной опции увеличивает потребление памяти,​ снижает скорость подсчёта
 +# трафика и в ряде случаев искажает вывод через RSH.
 +
 +capture-ports enable;
 +
 +# INTERFACE OPTIONS
 +
 +interface tun0; # внешний интерфейс
 +interface rl0;  # локальный интерфейс
 +interface rl1;  # локальный интерфейс
 +
 +# Разделять статистику по каждому IP-адресу для подсети 192.168.0.0/​24. «aggregate 192.168.0.0/​24» указывает
 +# ipcad-диапазон адресов сети. «strip 32» означает,​ что в статистику необходимо заносить все 32 бита
 +# адреса,​ принадлежащего данному адресному диапазону
 +aggregate 192.168.0.0/​24 strip 32;
 +aggregate 10.90.90.0/​24 strip 32;
 +# остальные агрегировать по первым 24 битам
 +aggregate 0.0.0.0/0 strip 24;
 +
 +#aggregate 3128-3128 ​   into 3128;      /* Protect these ports */
 +aggregate 150-1023 ​     into 1023;      /* General low range */
 +aggregate 20-21 into 21;
 +aggregate 22-23 into 22;
 +aggregate 25 into 25;
 +aggregate 80-81 into 0;
 +aggregate 110 into 110;
 +aggregate 443 into 443;
 +aggregate 3128 into 0;
 +
 +# RSH SERVER OPTIONS
 +# Настройки rsh-сервера,​ с помощью которого будет просматриваться статистика.
 + 
 +rsh enable at 127.0.0.1;
 + 
 +# Правила,​ указанные ниже, описывают политики доступа к статистике ipcad. Root может полностью управлять
 +# (делать backup, просматривать и изменять таблицы подсчёта). Все остальные могут лишь просматривать статистику
 +rsh root@127.0.0.1 admin; ​    
 +rsh root@127.0.0.1 backup; ​   ​
 +rsh root@127.0.0.1; ​          
 +rsh 127.0.0.1 view-only; ​     ​
 + 
 +# «Время жизни» и тайм-аут IP-пакета
 +rsh ttl = 3;
 +rsh timeout = 30;
 +
 +chroot = /​var/​log/​ipcad;​
 +
 +# Опцией dumpfile задаётся путь к файлу, в который по умолчанию будут складываться данные статистики
 +dumpfile = ipcad.dump;
 + 
 +# OTHER OPTIONS
 + 
 +pidfile = ipcad.pid;
 + 
 +# Опция memory_limit задаёт количество памяти для хранения содержимого одного потока данных.
 +# Синтаксис следующий:​ memory_limit = <​количество>​[{k|m|e}] ;
 +# где k - Кб; m - Мб; e – количество строк таблицы данных
 +memory_limit = 1m;
 +> /​usr/​local/​etc/​rc.d/​ipcad start
 +</​code>​
 +
 +===== Просмотр статистики ipcad =====
 +Для управления статистикой ipcad используется rsh. Общий синтаксис команд для ipcad выглядит следующим образом:​
 +<​code>​
 +rsh host command
 +</​code>​ где '​host'​ — это хост, на котором ведется статистика,​ а '​command'​ — это сама команда. В рассматриваемом случае значением '​host'​ является localhost. ​
 +
 +Полный список команд можно посмотреть по команде rsh localhost help. А именно:​
 +<​code>​
 +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
 +</​code>​
 +Скрипт для снятия статистики.
 +<​code>​
 +> ee ipcadstat.sh
 +#!/bin/sh
 +net="​192.168.1"​
 +ttime=`/​usr/​bin/​rsh localhost sh ip accounting | grep '​Accounting data saved'​|awk '​{print ($4)}'​`
 +/​usr/​bin/​rsh localhost clear ip accounting
 +/​usr/​bin/​rsh localhost show ip accounting checkpoint | grep $net | awk -v vtime=$ttime '​{print (vtime"​.000",​1,​$2,"​TCP_MISS/​200", ​
 +$4,"​CONNECT",​$1":"​$5,"​-","​DIRECT/"​$1,"​-"​)}' ​ >>/​usr/​local/​squid/​logs/​access.log
 +</​code>​
 +
 +====== Ссылки ======
 +  * Журнал "​Системный администратор"​ №3 2009 "​Устанавливаем связку Squid + squidGuard + с-icap",​ "​Создаём шлюз с системой учёта трафика на слабом компьютере"​.
 +  * [[http://​www.samag.ru/​cgi-bin/​go.pl?​q=articles;​n=10.2005;​a=01|Как посчитать трафик в Linux]]
 +  * [[http://​www.shtogrin.com/​projects/​internet-office/​statnets/​doc/​ipcad/​|IPCAD (Cisco IP accounting simulator)]]
 +
  
загрузка...
ipcad.txt · Последние изменения: 2010/03/26 10:08 (внешнее изменение)