Выбрать главу

Обработчик data–source в конфигурационном файле NeTAMS настраивается следующим образом:

service data–source 1

type netflow

source 192.168.1.1

listen 20001

Полный конфигурационный файл приведен здесь.

Предполагается, что UDP–пакеты NetFlow идут с маршрутизатора, имеющего IP–адрес 192.168.1.1, и поступают на локальный UDP–порт номер 20001 (его и слушает NeTAMS).

ВАЖНО!

По определению, NetFlow учитывает только входящий на роутер трафик. Это вызывает проблемы учета при использовании трансляции адресов. Действительно, пакеты от машин внутренней сети приходят на роутер и учитываются верно, но обратные ответы извне поступают с адресом dst внешнего интерфейса. Поскольку трансляция адресов происходит после учета, то статистика всего входящего трафика будет содержать сумму всего трафика, пришедшего на адрес внешнего интерфейса, и нули для адресов внутренней локальной сети. Для корректного учета, вам необходимо использовать policy routing. Установленная на роутере операционная система должна поддерживать эту функцию. Вот пример конфигурации для Cisco 2514:

ip cef

!

interface Loopback0

ip address 192.168.10.1 255.255.255.0

ip route–cache policy

ip route–cache flow

!

interface Ethernet0

ip address 195.200.200.1 255.255.255.0

ip nat outside

ip route–cache policy

ip route–cache flow

ip policy route–map MAP

!

interface Ethernet1

ip address 192.168.1.1 255.255.255.0

ip nat inside

ip route–cache policy

ip route–cache flow

!

ip nat inside source list 1 interface Ethernet0 overload

ip classless

ip flow–export version 5

ip flow–export destination 192.168.1.254 20001

!

access–list 1 permit 192.168.1.0 0.0.0.255

access–list 101 permit ip any 192.168.1.0 0.0.0.255

route–map MAP permit 10

match ip address 101

set interface Loopback0

При использовании заруливания трафика через раутмап на CPU (loopback) Cisco довольно сильно грузиться CPU, что может существенно занизить производительность устройства начиная с IOS 12.3x в IOS добавились фичи позволяющие избавиться от ненужной нагрузки на CPU маршрутизатора.

Называется фича: Egress NetFlow Accounting

NeTAMS на PC–маршрутизаторе

В большинстве случаев схема подключения PC–роутера к сети следующая: в компьютере имеются две сетевые карты, одна из них ведет в локальную сеть офиса или домашней сети, другая к провайдеру Интернет. Между сетевыми интерфейсами настроена маршрутизация и (возможно) трансляция адресов. Необходимо учитывать трафик пользователей, и при необходимости блокировать некоторым из них доступ во внешнюю сеть.

Оставим процедуру установки и настройки операционной системы, MySQL, Apache, маршрутизацию, трансляцию адресов и прочее на совести администратора. Будем считать, что все (кроме учета трафика) уже работает. Программа NeTAMS скачана, скомпилирована, исполняемые файлы переписаны куда надо, но конфигурационного файла еще нет.

Допустим, что внутренний адрес интерфейса eth1 сервера 192.168.0.1, сетевая маска 255.255.255.0. Компьютеры внутренней сети могут иметь адреса с 192.168.0.2 по 192.168.0.254, в то время как реально пока установлены только три компьютера с адресами .10, .11 и .12.

Необходимо считать общий трафик, трафик только до российских сетей, и весь HTTP–трафик.

Конфигурационный файл /etc/netams.cfg выглядит следующим образом:

debug none

user name admin real–name Vasya_Pupkin

password aaa email root permit all

schedule time daily action «send report

to admin on LAN on NETWORK+»

service server 0

login local

listen 20001

max–conn 6

service processor 0

lookup–delay 20

flow–lifetime 120

policy name ip target proto ip

policy name www target proto tcp ports 80

policy name rus target file /etc/ru–networks.txt

restrict all drop local pass

unit group name NETWORK acct–policy ip tcp !rus

unit net name LAN ip 192.168.0.0 mask 255.255.255.0

no–local–pass acct–policy ip tcp !rus

unit host name server ip 192.168.0.1 parent NETWORK

acct–policy ip tcp !rus

unit user name petya ip 192.168.0.10 parent NETWORK password abc

acct–policy ip tcp !rus

unit user name fedya ip 192.168.0.11 parent NETWORK password def

acct–policy ip tcp !rus

unit user name masha ip 192.168.0.12 parent NETWORK password ghi

acct–policy ip tcp !rus

storage 1 all

service storage 1

type mysql

service data–source 1

type libpcap

source eth1

rule 11 «ip»

service alerter 0

report oid 06100 name rep1 type traffic period day detail simple

smtp–server 127.0.0.1

service html 0

path /var/www/traffic

language en

run 5min

htaccess yes

client–pages all

Полезно разобрать весь конфигурационный файл по строчкам.

1 debug none

2 user name admin real–name Vasya_Pupkin password

aaa email root permit all

3 schedule time daily action «send report to admin on LAN on NETWORK+»

Этими командами настраивается сервис main, причем явно писать «service main» не нужно. Вначале отключается вывод всей отладочной информации — это нужно для уменьшения размера лог–файла. Далее, заводится пользователь системы NeTAMS, имеющий в ней административные права (permit all). Указанный пароль «aaa» потом будет храниться в зашифрованном виде. На адрес «root» будут отсылаться уведомления о трафике. Третьей строкой планируется отсылка ежедневных уведомлений о трафике пользователю admin на адрес root@, по юнитам LAN и NETWORK (вместе со всеми входящими в группу юнитами).

Пустая строка за номером 4 отделяет настройки разных сервисов (в данном случае main и server)