С проблемой построения систем учета трафика сталкивается практически каждый суб-провайдер. Если у вышестоящих провайдеров уже обычно работают профессионалы, знающие, что должны получить в результате и умеющие правильно спроектировать и настроить систему учета трафика, то суб-провайдеры обычно ограничены как в средствах, так и не обладают достаточными знаниями для создания функциональных и защищенных систем. К тому же покупка серьезного оборудования обычно не входит в их планы и вместо оборудования Cisco, Juniper или аналогичного, часто приходится использовать завалявшееся железо. К минусам такого подхода относится то, что зачастую оно обычно нестабильно и может выйти из строя.
В этой статье мы опустим пояснение, что такое биллинг, как устроены системы учета трафика, что такое VoIP-биллинг или зачем это все необходимо. Мы остановимся на конкретно взятом программном и аппаратном обеспечении, достаточных для создания современной, мощной и масштабируемой системы учета работы пользователей в сети Интернет. Предполагается, что читатель уже знаком с общими понятиями, которыми мы будем оперировать дальше.
Классификация
Из всех представленных на современном рынке биллинг-систем можно выделить уже несколько устоявшихся и признанных решений среднепровайдерского уровня, к которым относятся следующие:
Бесплатные или условно бесплатные:
- FreeNibs;
- https://netbilling.nm.ru;
- NeTAMS;
- Abills;
- и д.р.
Платные
- NetUP UTM;
- IPSoft Billing;
- LANBilling;
- Traffic Inspector;
- и д.р.
Для лучшего понимания текущей классификации современных биллинг-систем взгляните на эту схему:
Общая структура биллинговых систем.
В случае с использованием авторизации пользователей, отличной от Radius, практически всегда в биллинг уже встроены средства снятия, обработки и записи наработанной статистики своими внутренними средствами. Если же NAS (Network Access Server) и сам биллинг разнесены на разные компьютеры, то для снятия статистики используются уже проверенные средства: с помощью Alive пакетов от NAS сервера, протокола SNMP (Simple Network Monitoring Protocol) или NetFlow. Использование протокола NetFlow (протокол, разработанный компанией Cisco специально для мониторинга сети) позволяет получать подробнейшую информацию о сетевой активности пользователей. Именно поэтому данный способ сбора статистики является основным для построения мощных и отказоустойчивых систем.
Поставленная задача
Нам необходимо установить и настроить систему учета работы пользователей Интернет, используя биллинг UTM5 и программно-аппаратную платформу FISC MTIK Mikrotik RouterOS, которая будет обслуживать одновременно до 300 пользователей. В нашем случае выбор UTM5 очевиден. За сравнительно малой ценой кроется высокий потенциал, который можно будет в полной мере раскрыть при создании тарифных планов, работе с клиентами, создании отчетов и другими аспектами работы системы. Для сбора статистики будем использовать технологию NetFlow, для хранения информации базу данных MySQL. В качестве операционной системы для биллинга выберем Debian Etch. Выбор операционной системы лучше останавливать на той, которую вы достаточно хорошо знаете.
Вкратце опишем схему работы нашей будущей системы:
Структура взаимодействия UTM c NAS
Сервер доступа при поступлении запроса от клиента на подключение обязан будет передать их Radius-модулю биллинга. Последний должен обратиться к ядру, чтобы получить от него разрешение на авторизацию, и в случае положительного ответа, другие параметры: адрес клиента и скорость. После подключения, сервер доступа будет в режиме реального времени передавать всю информацию о трафике с сетевых интерфейсов ядру биллинга, которое при наступлении условия отключения пользователя отправит сигнал в модуль Firewall, который получит доступ к командной строке сервера доступа и сбросит нужного клиента или заблокирует ему доступ.
Данная схема прозрачна и надежна, что подтверждает ее широкое применение на практике. Использование в качестве сервера доступа операционной системы Mikrotik во многом обусловлено низкой стоимостью одной лицензии, удобных способов настройки, надежностью. К тому же в ней изначально встроены средства для работы с NetFlow и авторизации пользователей по протоколу Radius.
Описание аппаратной части
Так как обычно число клиентов у суб-провайдеров относительно мало, то логично было бы использовать наиболее оптимальное оборудование в плане надежности и стоимости, позволяющее реализовать необходимый уровень предоставления услуг и охватывающий наибольшее количество решаемых задач. Учитывая то, что нам потребуется минимум два сервера, необходимо определиться с их конфигурацией, основываясь на спектре решаемых ими задач.
Для биллинг-сервера мы используем компьютер следующей конфигурации:
- процессор: AMD Athlon XP 1700+;
- память: 2 Гбайт;
- жесткие диски: 3 х 200 Гбайт SATA в программном RAID 5;
- блок питания: 450 Вт;
- сетевая карта: любая, желательно с аппаратной обработкой пакетов на чипах 3com, Intel;
- корпус: любой с хорошей вентиляцией.
Такие системные требования обусловлены тем, что этот сервер будет нести основную нагрузку, а также являться "хранилищем" нашей системы. Ему придется обрабатывать большие объемы информации о наработанной статистике, авторизировать пользователей и отключать их в нужные моменты, предоставлять доступ к генерации отчетов в режиме реального времени.
Особое внимание стоит обратить на жесткие диски. Использование программного или аппаратного RAID строго обязательно, если вы не хотите в один прекрасный день потерять информацию о трафике или клиентах. Также стоит предусмотреть возможность резервного копирования данных на внешние носители. Не стоит экономить и на оперативной памяти, так как в нашем случае в именно от нее будет зависеть скорость работы сервера в целом.
В качестве серверов доступа (NAS) логичнее всего будет использовать уже готовые платформы, поставляемые самими разработчиками Mikrotik или же сторонними производителями. В нашем случае мы будем использовать платформы Lex, поставляемые компанией Ниеншанц - Телеком с предустановленной лицензионной версией RouterOS Mikrotik.
Выбор в пользу такого решения приведем следующие аргументы:
- производительности платформы достаточно для решения наших задач;
- система имеет очень скромные габариты и может быть легко установлена даже в самом ограниченном пространстве;
- большая гибкость, масштабируемость и надёжность системы;
- отсутствие подвижных частей (кроме жесткого диска), и, как следствие, практическое отсутствие шумов и износа;
- достаточная устойчивость и проверенная временем надежность;
- наличие трех Ethernet-портов, что легко позволит в случае надобности организовать DMZ-зону или настроить маршрутизацию между сетями;
- малая потребляемая мощность;
- наличие лицензионной версии операционной системы Mikrotik на Flash карточке.
Этот список можно продолжать и дальше, однако давайте на самом деле убедимся, хватит ли нам производительности этой платформы и на чем основана сказанная выше "стабильность".