|
||||
|
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) 5 service server 0 6 login local 7 listen 20001 8 max–conn 6 Этими командами настраивается сервис server, который обеспечивает подключение администратора и скриптов к работающему экземпляру NeTAMS по протоколу telnet. Входящие соединения принимаются только на локальный адрес 127.0.0.1, порт 20001, и возможно не более шести одновременных соединений. Согласно предыдущим строкам, подключиться сможет только один пользователь с логином «admin» и паролем «aaa» — других просто нет. 9 Пустая строка, отделяет команды сервисов server и processor друг от друга. 10 service processor 0 11 lookup–delay 20 12 flow–lifetime 120 13 policy name ip target proto ip 14 policy name www target proto tcp ports 80 15 policy name rus target file /etc/ru–networks.txt 16 restrict all drop local pass Настраивается главный сервис — processor. В строках 10 и 11 задаются параметры, как часто будет проверяться списки юнитов и откладываться записи в базу данных. Для большинства задач указанные значения параметров оптимальны. Три следующие строки задают политики, по которым будет идти учет трафика. Политика «ip» задает весь IP–трафик, «www» — только тот, который идет по порту TCP 80, «rus» — тот, который получается при совпадении адресов с таблицей русских сетей, содержащейся в файле префиксов /etc/ru–networks.txt. Изначально этот файл идет в дистрибутиве NeTAMS, в каталоге addon/. Последняя, 16–ая строка определяет, как поступать с пакетами, которые прошли через учет по списку юнитов и совпали (или не совпали) с каким–либо юнитом. Указанная конфигурация пропускает пакеты, которые принадлежат имеющимся в конфигурационном файле юнитам, и не пропускает остальные. Полезно использовать именно указанное сочетание, т.к. это поможет не пускать в сеть «незаконные» компьютеры. 17 unit group name NETWORK acct–policy ip tcp !rus 18 unit net name LAN ip 192.168.0.0 mask 255.255.255.0 no–local–pass acct–policy ip tcp !rus 19 unit host name server ip 192.168.0.1 parent NETWORK acct–policy ip tcp !rus 20 unit user name petya ip 192.168.0.10 parent NETWORK password abc acct–policy ip tcp !rus 21 unit user name fedya ip 192.168.0.11 parent NETWORK password def acct–policy ip tcp !rus 22 unit user name masha ip 192.168.0.12 parent NETWORK password ghi acct–policy ip tcp !rus Здесь определяются юниты, или учётные объекты. В начале создается группа, которая будет родительской по отношению к включенным в нее юнитам. Затем следует юнит, обозначающий всю подсеть. Далее, идут юниты, представляющие отдельные компьютеры. Для каждого юнита указан одинаковый набор политик учета, обратите внимание на флаг inverse, в виде знака "!», для политики «rus». Для юнита LAN указан также параметр no–local–pass, который заставляет считать не–локальными все пакеты, принадлежащие сети, и не описанные для других юнитов — этим мы отсекаем «неизвестные подключения». Для последних трех юнитов указан также пароль, который может быть использован для доступа к индивидуальной статистике в виде HTML–страниц. 23 storage 1 all Указывает сервису processor на необходимость сохранять статистику в хранилище, описанном сервисом storage за номером 1. При этом запить будет идти в обе таблицы одновременно — raw и summary. 25 service storage 1 26 type mysql Определяет хранилище для статистики. Тип хранилища — MySQL, для доступа к базе будут использованы стандартные настройки: имя пользователя root, пустой пароль, работающий на той же машине SQL–сервер (подключение через unix socket). Имя базы данных — netams. 27 service data–source 1 28 type libpcap 29 source eth1 30 rule 11 «ip» Определяет, каким образом данные о трафике будут попадать в NeTAMS. Для этого будет использован интерфейс eth1 (ОС Линукс), и будет захвачен весь IP–трафик, проходящий через него (механизм libpcap, на базе которого сделан, например, tcpdump). Номер правила, «11», в данном случае смысла не несет. 32 service alerter 0 33 report oid 06100 name rep1 type traffic period day detail simple 34 smtp–server 127.0.0.1 Для того чтобы пользователи и администратор могли получать уведомления о статистике по электронной почте, настраивается сервис alerter и указывается тип отчета, и адрес smtp–сервера (в данном случае это локальный компьютер, где выполняется NeTAMS). Проследите, чтобы на указанной машине был запущен и настроен на прием ваш sendmail/postfix/exim/etc. В настоящий момент тип отчета задать нельзя, и вместо этого придется писать всю 33ю строчку целиком. 36 service html 0 37 path /var/www/traffic 38 language en 39 run 5min 40 htaccess yes 41 client–pages all Сервис html позволяет автоматически генерировать HTML–страницы с отчетами. Процесс netams будет автоматически создавать эти страницы раз в 5 минут и складывать их в каталог /var/www/traffic. При этом язык страниц – английский (другого пока нет). Будет создаваться как администраторская часть дерева страниц, так и клиентская. Доступ к статистике будет защищен паролем (на администраторскую – admin:aaa, клиентам – их логины–пароли). Если настроить апач так: ServerName www.company.ru <Directory /var/www/traffic> Options FollowSymLinks ExecCGI Indexes AllowOverride All </Directory> Alias /stat/ /var/www/traffic/ то администратор получит доступ по ссылке http://www.company.ru/stat/ , а Федя по ссылке http://www.company.ru/stat/clients/fedya/ (спросится федин логин–пароль) |
|
||
Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Наверх |
||||
|