Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    Сеть
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Postfix+Cyrus-SASL
18.12.2003 | geekkoo
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА Сеть    
Автор статьи: DIMON
Дата: 30.07.2003

Считаем трафик

Учет трафика при использовании FreeBSD в качестве маршрутизатора.

Автор Maxik

Небольшие организации для подключения своей сети к Интернет в качестве роутера зачастую используют обычный ПК с операционной системой Unix. При оплате трафика руководству фирмы хочется знать, кто сколько качал. Тема настоящей статьи - организация учета внешнего трафика в такой сети.
И так у нас есть компьютер с двумя сетевыми интерфейсами: для внутренней сети ep0, и для внешней сети ed0. Для подсчета трафика я воспользовался пакетом BPFT , разработанным Владимиром Воробьевым.

И так, скачиваем этот пакет и собираем его (процедура стандартная - make, make install). После этого нам необходимо запустить демон, занимающийся сбором трафика. В файл rc.local добавляем строки:

/usr/local/bin/trafd -r -i ed0
/usr/local/bin/trafd -r -i ep0
Отлично, трафик учитывается. Теперь заставим его скидываться в файл. Для этого в crontab прописываем:
*/10 * * * * /usr/local/bin/trafdump ep0 >/dev/null 2>&1
*/10 * * * * /usr/local/bin/trafdump ed0 >/dev/null 2 >&1
У нас получились бинарные файлы. Для приведения их в читаемый формат, я воспользовался скриптами неизвестного мне автора. Их запуск также осуществляем из crontab:
50 23 * * * /usr/local/sbin/traffic-daily.exec ep0
50 23 * * * /usr/local/sbin/traffic-daily.exec ed0
На выходе у нас получаются текстовые файлы, в которые собран весь дневной трафик. Теперь надо разобрать их по конкретным адресам. Опять же воспользуемся crontab:
57 23 * * * /usr/local/sbin/traffic_by_host_ep0.exec
57 23 * * * /usr/local/sbin/traffic_by_host_ed0.exec
где -- IP-адрес, по которому вы хотите собрать статистику. На выходе в каталоге /var/log/traffic вы получите текстовые файлы с именем .daily.log. Формат их прост: время, дата, входящий трафик и исходящий трафик.
Для того чтобы не учитывать внутренний трафик, необходимо внести некоторые изменения в файлы /usr/local/sbin/traffic_by_host_ep0.exec и /usr/local/sbin/traffic_by_host_eв0.exec. В них имеются строки типа:

when (src=ipaddr & justify(dst,9)\="192.168.0") then ipaddr_traffic_out=ipaddr_traffic_out+all.
192.168.0 - это некая маска. Обращения к адресам, подпадающим под такую маску, не будут учитываться в результирующем файле. В каждом из скриптов таких мест два (по одному на входящий и исходящий трафик).
Кстати, пока вы еще не запустили всю эту систему в действие, можно поставить туда какие-либо несуществующие адреса - это позволит выявить шум в сети создаваемый, к примеру, неправильными настройками IP на каком-нибудь из компьютеров.

Ну и, напоследок, я прикладываю мою программку под Win32, которая по ftp забирает результирующие файлы и расчитывает стоимость трафика.




В: Где можно взять rexx интерпретатор в Сети?
О:
Набираете в поле "search" например rexx и получаете что искали.
Для FreeBSD заходите на сайт там есть раздел "ports" опять выполняете поиск и получаете.

P.S. К Linux прикручивается без проблем.



Все статьи раздела "Сеть"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер:
Смотрите информацию пескобетон у нас на сайте.