• Условие ({при_условии}) - это одно из событий:

• soft — произошло переполнение «мягкой» квоты. Необходимо предупредить пользователя, не отключая его.

• hard — произошло переполнение «жесткой» квоты. Необходимо предупредить пользователя о том, что он отключен, и отключить его.

• return — по прошествии времени (например, начался новый месяц) пользователь должен быть включен и оповещен об этом.

• Получатель ({кого}) - персона, которую оповещать. Оповещены о наступлении события могут быть и/или собственно владелец юнита (при условии что юнит имеет тип user и для него установлен параметр email), а также один из заведенных в программе пользователей (user), например сам администратор сети. Возможные значения:

• {owner} - владелец юнита

• username — имя или OID пользователя (администратора).

Примеры (предположим ранее определено user name admin email root@localhost ):

notify soft {owner}

notify hard {owner} admin

notify return admin

• [hour … ], [day …], [week …], [month …]

• Задает значения квот на период времени. Формат:

• time_spec amount {in|out|sum},

• где timespec={hour|day|week|month}, amount — значение квоты (в байтах, но можно использовать модификаторы K, M, G), {in|out} - направление квотируемого трафика, {sum} - суммарный трафик (в обоих направлениях). Если необходимо сбросить значение квоты для определённого направления, то надо задать её равной 0. Например:

set name user1 month 0 in

В этом случае будет сброшена месячная квота на входящий трафик.

Значения параметров по умолчанию можно поменять в соответствующей секции файла src/netams.h и последующей полной пересборкой программы (make clean; make). Ниже приведен их список:

#define S_QUOTA_DEF_soft_treshold 80

#define S_QUOTA_DEF_delay 10

#define S_QUOTA_DEF_notify_soft 1

#define S_QUOTA_DEF_notify_hard 1

#define S_QUOTA_DEF_notify_return 1

Исполнение команд вида set … приводят к модификации внутренних структур программы (точнее, заполнению полей структуры u->quotadata юнита u), а также к модификации таблицы quota текущей указанной SQL–базы данных. Как обычно, если такой таблицы не существует, она создается автоматически при первом запуске. Формат таблицы можно посмотреть через вызов команды mysqlshow netams quota. Не пытайтесь редактировать SQL–таблицу quota извне своими программами. Все записи должны вноситься скриптами или вручную через telnet–интерфейс программы (команда set).

Ниже приведен пример применения сервиса контроля квот для небольшой сети. Постановка задачи следующая:

Сеть построена на маршрутизаторе FreeBSD 4.7 / NeTAMS 3.1(2176)

Локальная сеть объединяет порядка 10 компьютеров с адресами 192.168.0.X

Ряду компьютеров необходимо организовать квоты на выход в Интернет, порядка 3 Мб входящего трафика в день и 100М в месяц.

Необходимо отправлять оповещения о наступлении мягкой квоты (75%), жесткой квоты и возвращения доступа пользователям, жесткой квоты — администратору.

Учитывать необходимо только HTTP–трафик.

Ниже приведен полный конфигурационный файл NeTAMS:

debug none

user oid 01327B name admin real–name Konstantin email AAA@mail.ru permit all

schedule oid 08FFFF time hourly–action html

#services configuration

service server 0

login any

listen 20001

max–conn 6

service processor 0

lookup–delay 20

flow–lifetime 60

policy oid 146633 name all–ip target proto ip

policy oid 147C83 name http target proto tcp ports 80 8080 81 3128 443

restrict all pass local pass

unit group oid 0574B0 name LAN acct–policy all–ip

unit group oid 05431B name WAN acct–policy all–ip

unit host oid 021949 name server ip 192.168.0.1 acct–policy all–ip

unit host oid 02238E name Andrew ip 1.3.168.142 acct–policy all–ip http

unit net oid 0446E8 name local ip 192.168.0/24 acct–policy all–ip

unit net oid 043D1B name all ip 0.0.0.0 mask 0.0.0.0 acct–policy all–ip

unit host oid 02507E name 02 ip 192.168.0.10 acct–policy all–ip http

unit host oid 022EB1 name 03 ip 192.168.0.11 acct–policy all–ip http

unit host oid 0241B7 name 07 ip 192.168.0.12 acct–policy all–ip http

unit host oid 0279E2 name 09 ip 192.168.0.13 acct–policy all–ip http

unit host oid 027545 name 11 ip 192.168.0.14 acct–policy all–ip http

unit host oid 02515F name 12 ip 192.168.0.15 acct–policy all–ip http

unit user oid 025BD0 name 13_1 ip 192.168.0.16

email user08@a.ru acct–policy all–ip http

unit host oid 021220 name 14 ip 192.168.0.17 acct–policy all–ip http

unit user oid 024DB1 name 13_2 ip 192.168.0.18

email user09@a.ru acct–policy all–ip http

unit host oid 020216 name 16 ip 192.168.0.19 acct–policy all–ip http

unit host oid 021F16 name 17 ip 192.168.0.20 acct–policy all–ip http

unit host oid 021190 name 50_1 ip 192.168.0.21 acct–policy all–ip http

unit host oid 0266EF name Localnet ip 192.168.0.22 acct–policy all–ip http

unit host oid 02140E name TPSO–1 ip 192.168.0.23 acct–policy all–ip http

unit host oid 023352 name TPSO–2 ip 192.168.0.24 acct–policy all–ip http

unit host oid 02109C name 07–2 ip 192.168.0.25 acct–policy all–ip http

unit host oid 020DED name 19 ip 192.168.0.26 acct–policy all–ip http

unit user oid 027FDC name 15_1 ip 192.168.0.27

email user05@a.ru acct–policy all–ip http

unit user oid 021BEF name 15_2 ip 192.168.0.28

email user02@a.ru acct–policy all–ip http

unit user oid 0241A7 name 15_3 ip 192.168.0.29

email user04@a.ru acct–policy all–ip http

unit user oid 026B68 name 15_4 ip 192.168.0.30

email user06@a.ru acct–policy all–ip http

unit host oid 024E6A name 08_1 ip 192.168.0.31 acct–policy all–ip http

storage 1 all

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату
×