Ideco 3 АСР + MikroTik RouterOS

Skip to end of metadata
Go to start of metadata

ВАЖНОЕ ЗАМЕЧАНИЕ: В данной инструкции используется настройка простых очередей Simple Queue. Этот метод подходит только для небольшого числа пользователей (100-200). Для большего числа пользователей необходимо использовать Queue Tree.

Описание схемы:

Пользователь устанавливает VPN соединение с NAS сервером. Тот проверяет (посредством RADIUS) легитимность входа (положительный баланс, правильный логин и пароль и т.д.) и получает параметры для скорости шейпера и белый динамический адрес (прописывается в Ideco). Трафик пользователя идет через Mikrotik. NAT не используется. NAS отправляет на Ideco информацию о трафике пользователей посредством NetFlow. Ideco накапливает в базе статистику и в случае наступления отрицательного баланса посылается команда сброса данного пользователя посредством RADIUS протокола (хотя можно реализовать управление через SNMP, SSH).

Теперь подробней:

Считаем, что вы уже скачали (или купили давно уже) полнофункциональную демо-версию Ideco АСР 3 с официального сайта ideco-software.ru и произвели базовую конфигурацию согласно документации. Теперь скачиваем полнофункциональную демо-версию Mikrotik c официального сайта.

Скаченный образ прожигаем на CD болванку и грузимся с неё. Выбираем нужные модули и жмем для начала инсталяции клавишу "i"

Здесь спросят у нас - оставить ли старую конфигурацию (это если переустанавливать mikrotik) - жмём "n" (No - нет)

Здесь нас предупреждают, что все данные на жестком диске будут утеряны. Жмём "y"

Начинается инсталяция.... После установки появится приглашение на вход. Вводим логин admin и пустой пароль по умолчанию (не забудьте сменить потом пароль).
Появиться экран приветствия. Здесь можно записать код установки. Если вы решите купить Микротик - вам нужно будет сообщить этот ключ и вам сгенерируют лицензионный ключ. Демо режим работает 24 часа. Обратный отсчет идет только при включенном сервере. Т.е. вы можете потестировать Mikrotik в демо-режиме 3 рабочих дня по 8 часов, выключая на вечер и ночь сервер. Нажмите Enter.

Далее нам нужно сконфигурировать наш сервер Mikrotik. Все можно настроить через командную строку. Но есть более удобный вариант - визуальное приложение под Windows. Единственное, что мы настроим из командной строки - это IP адрес локального интерфейса. Для этого есть удобная утилитка. Наберите в командной строке setup и нажмите Enter:

Снова жмем Enter

Снова Enter...

Выбирите номер интерфейса (нумерация сетевых карт начинается с единицы)

Набираем IP адрес и маску и жмем Enter. Все, далее жмем Сtrl-C, чтобы остановить процедуру начальной настройки - все остальное будет настраивать в визуальной среде.
Пробуем зайти на Микротик через Web-браузер с компьютера, который должен иметь IP адрес из тойже подсети. Если не получается - попробуйте воткнуть сетевой кабель в другой LAN интерфейс. Далее скачиваем утилиту WinBox.

Запускаем WinBox, вводим IP адрес Микротика, логин и пароль и жмем Connect.
Настроим профиль для VPN (PPP - Profiles - default):

Вводим IP-адрес - это адрес VPN сервера. Также расставляем галочки, как на рисунке (выключаем шифрование и компрессию)

Далее следуем сюда:

PPP - Secrets - PPP A&A - включаем аккаунтинг и Radius авторизацию для VPN:

Далее создадим Secret (локальный аккаунт VPN) - но пароль оставьте пустым, тогда будет сравниваться для всех имя и пароль на Radius сервере (на биллинге Ideco). Затем выбирите профиль, который мы настроили раньше (в нашем случае - "default"). И выбирите сервис - pptp

Теперь включим VPN сервер без шифрования (если это необходимо):

Далее сменим условное имя NAS (имя нашего сервера - идентификатор (identity)) в меню System -> Identity.Например дадим ему имя NAS1.

Настроим Radius. Добавим в список Radius серверов наш Radius сервер (Ideco). Введите IP адрес и секретное слово подлиннее (запишите его - оно нам еще понадобиться):

Далее разрешим управляющие входящие пакеты Radius (для дисконнекта наших абонентов по событиям с биллинга (Ideco)). Ставьте галочку и запомните номер порта:

Настроим Netflow (здесь он называется Traffic Flow): в меню IP -> Traffic Flow. В открывшемся окне жмите плюсик (добавить). Вписываем IP адрес нашего биллинга, номер порта и выбираем 5-версию нетфлоу:

Далее заходите в "Traffic Flow Setting" и делаем следующие настройки:

Теперь, нам нужно настроить IP адрес на внешний интерфейс. В меню IP -> Addresses добавляем (плюс). Вводим IP адрес, маску и выбирите из списка нужный сетевой интерфейс:

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

Далее необходимая настройка Ideco.

Далее надо определить пул IP адресов, которые смаршрутизировал вам ваш вышестоящий провайдер на ваш IP адрес, который вы настроили на внешнем сетевом интерфейсе NAS сервера (на Микротике)

Включаем динамическую раздачу IP для VPN (если это требуется)

Здесь в тарифе указываем скорость, которая будет передаваться ввиде радиус-атрибута на NAS:

Необходимые скорости нужно указывать в правилах для тарифа.
Далее пример настроек пользователя:

В локальном меню Конфигурирование сервера -> Управление NAS-клиентами... указываем IP адрес NAS сервера, его имя (мы назвали его NAS1), secret - это то длинное слово, которое настраивали на микротик.
Дальше необходимо включить Radius сервер Конфигурирование сервера -> RADIUS-сервер...
Настраиваем прием netflow (порт указываем такой-же, как при настройке Микротик) Конфигурирование сервера -> NetFlow коллектор...
Чтобы пользователи могли заходить на Ideco веб-сервер в личный кабинет, не авторизованными напрямую в биллинге (они ведь авторизуются на NAS, а их туда не пустит при отрицательном балансе) нужно в меню Конфигурирование сервера -> Дополнительные настройки... -> [ X ] Просмотр статистики без авторизации.
Также необходимо включить скрипт обработки событий Конфигурирование сервера -> Дополнительные настройки... -> [ X ] Запускать скрипт обработки событий.

В скрипт /var/lib/event_inc.sh

добавляем строку

echo "User-Name=$login, NAS-IP-Address=$nas_ip," | radclient -r 2 $nas_ip:3799 disconnect my_secret

после

case "$EVENT" in
"balance_negative")

....

Вместо my_secret - ваше кодовое слово для radius

Тоже самое действие и на событие "logout" - на всякий случай, и на "user_data_changed" - если вдруг тариф сменил или запретили вход руками и т.д.

Чтобы на ходу менялась скорость, если в тарифе несколько правил с разными скоростями, в зависимости, например от времени суток или объема потребленного трафика, добавляем строку в скрипт /var/lib/event_inc.sh для события "rate_set"

if [ "$logged" = "1" -a "$nas_ip" != "0.0.0.0" ]; then
ssh user_ssh@$nas_ip "/queue simple set [find name=\"<pptp-user$id>\"] max-limit=\"${ceil_in}k/${ceil_out}k\" limit-at=\"${ceil_in}k/${ceil_out}k\"" &

Чтобы работали скрипты по SSH на микротик:

заведите на Микротике в меню systems - Users - группу SSH с правами (как на картинке) и пользователя user_ssh без пароля , у которого доступ разрешен только с IP адреса Ideco серва (можно и указать разрешенный айпи или подсеть - "Allowed Address").
Зайдите под рутом на Ideco - и вручную проверьте из консоли на адрес микротика по SSH:

ssh user_ssh@$nas_ip

во-первых - чтобы проверить, что работает, во-вторых - первый раз нужно вручную согласиться , что доверяете хосту.

На этом настройка завершена. Можно протестировать работу на тестовом пользователе.


Инструкция предоставлена White_crow.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.
  1. мар 18, 2011

    Анонимный говорит:

    а если инет приходит только одним IP'шником и в качестве лишь dynamic IP + билли...

    а если инет приходит только одним IP'шником и в качестве лишь dynamic IP + биллинг надо запилить во внутреннюю сеть?