The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Установка и настройка NeTAMS для подсчета и управления трафиком (billing isp traffic netflow cisco)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: billing, isp, traffic, netflow, cisco,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-12 16:38:51 Subject: Установка и настройка NeTAMS для подсчета и управления трафиком
Сгибнев Михаил

В данный момент передо мной встала задача посчитывать трафик в маленькой локальной сети и управлять им соответственно моим потребностям. Так как никаких коммерческих целей, требующих покупки сертифицированного биллинга, я перед собой не ставил, то решено было остановиться на системе NeTAMS, поскольку: Тарифных планов предусмотрено было несколько, в частности, безлимитный (128 кб/с к клиенту), но не один из них не предусматривал возможности отключения. При этом, части, отвечающие за блокировку клиента, были вставлены в конфигурацию и маршрутизатора и сервера. Если кто-то имеет опыт настройки такого рода сервиса, то буду рад услышать комментарии.

Cisco

В качестве маршрутизатора используется Cisco 2801: Итак, нам необходимо соответстующим образом необходимо сконфигурировать маршрутизатор на отдачу статистики по NetFlow, дать возможность управления по rcp/rsh и настроить очереди приоритетов.

Доступ по rsh очень удобен для получения данных и изменеия конфигурации устройства, тем более он необходим, если вы захотите блокировать трафик клиента, исчерпавшего лимит.

Как наиболее простое, разберемся с настройкой Cisco, экзотики никакой нет, самые интересные моменты рассмотрены отдельно: Очереди приоритетов.

Priority Queuing (PQ) обеспечивает безусловный приоритет одних пакетов над другими. Всего 4 очереди: high, medium, normal и low. Обработка ведется последовательно (от high до low), начинается с высокоприоритетной очереди и до ее полной очистки не переходит к менее приоритетным очередям. Таким образом, возможна монополизация канала высокоприоритетными очередями. Трафик, приоритет которого явно не указан, попадет в очередь по умолчанию (default). (Знак качества. Cisco QoS для начинающих II) Мы определяем четыре очереди и выставляем соответствующие приоритеты (последний, пятый, является значением по умолчанию и имеет низкий приоритет), устанавливаем размеры очередей и назначаем группу на внешний интерфейс.

Ограничение скорости клиента с адресом 192.168.50.3 в 128 кб входящего трафика Здесь, в параметре traffic-shape, у нас указаны последовательно: номер ассес-листа, пропускная способность, размер всплеска (в байтах), превышение размера всплеска (в байтах) и размер буфера.

По определению, NetFlow учитывает только входящий на роутер трафик. Это вызывает проблемы учета при использовании трансляции адресов. Действительно, пакеты от машин внутренней сети приходят на роутер и учитываются верно, но обратные ответы извне поступают с адресом dst внешнего интерфейса. Поскольку трансляция адресов происходит после учета, то статистика всего входящего трафика будет содержать сумму всего трафика, пришедшего на адрес внешнего интерфейса, и нули для адресов внутренней локальной сети. Для корректного учета, вам необходимо использовать policy routing. Установленная на роутере операционная система должна поддерживать эту функцию. ( http://www.netams.com/doc/cfg_cisco.html) Ограничим UDP трафик значением 8Kb/s: Для того, чтобы NeTAMS мог блокировать трафик хостов, перебравших квоту, необходимо следущее: Таким образом мы установим динамический ассесс-лист, по умолчанию разрешающий все и запрещающий адреса, создаваемые динамическим правилом. Я ще раз повторяю, что в моем примере данная возможность не использовалась и имеющиеся настройки работать не будут (по крайней мере у меня - не работали)!

NeTAMS

Установка делалась на FreeBSD, проверялась работа на NetBSD. Для компиляции на NetBSD необходимо в файле src/common.c удалить тело функции cShowSystemHealth(Connection*, int), что не повлияет на работу программного комплекса.

В настоящее время, текущей версией NeTAMS является 3.3.2 и взять ее можно здесь. Учтите, что при установке из портов FreeBSD вам потребуются исходные тексты ядра (хотя зачем?).

В качестве подготовительного этапа необходимо установить базу данных MySQL (также поддерживаются другие базы данных) и вэб-сервер Apache. Независимо от типа *BSD, установку можно выполнить из прекомпилированных пакетов или из системы портов.

Создадим базу данных: Создадим файл конфигурации следующего содержания: Файл конфигурации очень легок в прочтении и интуитивно понятен, для работы необходимо написать свои пароли/пути/адреса. Разберем отдельные секции: Создаем три политики: ip, www и mail. Строка restrict all drop local pass означает что программа будет пропускать только данные с/для зарегистрированных машин "за" маршрутизатор. Далее определяем одну группу и двух клиентов. Возможности создания юнитов ошень широки, я рекомендую вам внимательнее изучить документацию.

В секции service storage задаются параметры доступа к базе данных.

Раздел service data-source определяет метод получения данных о трафике, в нашем случае мы снимаем их по протоколу NetFlow c адреса 192.168.50.1, порт 20001 UDP. После запуска сервиса, проверить экспорт данных NetFlow можно будет командой show ds.

В нижепреиведенном разделе устанавливаются параметры квотирования. Порог предупреждения о приближении предела я установил в 90%, квотирование устанавливается для юнитов FreeBSD и NetBSD, сообщение об отключении высылается администратору, также сообщения отсылаются по адресу, указанному в описании юнита. В случае срабатывания квоты, клиенту будет разрешен доступ в мир только icmp. Начинается самое интересное - описание тарифных планов. По получению более подробной информации я рекомендую обратиться к документации, имеющейся на сайте проекта, но вкратце отмечу самые ключевые моменты. Опция subplan определяет т.н. "подплан", из их наборов можно создавать сложные тарифные планы. В данном примере, для первого подплана мы определяем, что со счета снимается 30 у.е. раз в месяц, включено 10Гб входящего и исходящего трафика (хотя это и безлимитный тариф, но все должно быть в пределах разумного), параметром adjust-fee задается необходимость перерасчета, если клиент подключился в середине месяца, учет ведется по правилу "ip", превышение трафика обойдется в 0.01 у.е. за мегабайт. Аналогичным образом описан и второй подплан. Опция plan непосредственно описывает имя тарифного плана и входящие в него подпланы. Добавление нового аккаунта через консоль выглядит подобным образом (думаю, разобратся с вэб-интерфейсом NaWT не составит труда): Данный блок предназначен для установки динамических правил на маршрутизаторе, которые блокируют трафик для юнита, выбравшего квоту. Еще раз отмечу: лично у меня блокировка не работала, это связано с отсутсвием необходимости в ней и тем, что я не разбирался в этом вопросе, если у кого-нибудь есть опыт работы, буду рад услышать. NeTAMS обладает очень широкими возможностями, способными удовлетворить практически любой взыскательный вкус. В частности стоит отметить функцию контроля за mac-адресами для конкретного юнита и возможность работы с карточками экспресс-оплаты.

В статье использовались материалы форума и раздела документации NeTAMS, а так же статьи Знак качества. Cisco QoS для начинающих II, Знак качества. Cisco QoS для начинающих III.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру