Биллинг АСР Ideco 3 + MikroTik ROS

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (106)

просмотр истории страницы
[x] Использовать процедуры версии 6

h3. ==== \[[NetFlow]\] ====
h4. {color:#000000}\[NetFlow\]{color}


h3.

''Конфигурирование сервера \-> NetFlow коллектор...''

[x] Приём NetFlow потоков с разных источников

h3. ==== SSH managment ====
h4. SSH managment


h3.

для удаленного входа в консоль биллинга используется протокол \[[SSH]\]

[http://s13.radikal.ru/i186/1210/ed/e3bd87c5c3c1.png]

h2. ==== События и скрипты ====
h4. События и скрипты

В локальном меню проверьте наличие галочки в пункте:
Установите на вышесозданные файлы - execute права.

h2. === Manager ===
h3. Manager

Интерфейс управления Ideco Manager написан и скомпилирован под венду, но в wine работает без вопросов.

h3. ==== Общие настройки ====
h4. Общие настройки


h3.

''Сервис \-> Настройки''

Таймаут accounting update - данную переменную можете ставить сутки (в секундах, ессно).

h3. ==== Оборудование ====
h4. Оборудование


h3.

Добавим параметры нашего NASа по примеру:

\[[Файл:61eea54a757d.png]\]

h3. ==== Пулы ====
h4. Пулы


h3.

Добавляете пул адресов, которые через RADIUS будут выдаваться юзерам в VPN тунели
(не имеет значения - белые адреса, либо серые).
\[[Файл:2ec78ce4ddc5.png]\]

h2. == Базовая настройка MikroTik ROS ==
h2. Базовая настройка MikroTik ROS

h3. === Identity ===
h3. Identity

Как уже упоминалось ранее - имя вашего сервера Микротик нельзя менять от балды, по дефолту пропишите
\[[Файл:5b0b2b6aa11b.png]\]

h3. === Clock ===
h3. Clock

Нужно настроить время на NASе для нормальной работы и логов.
\[[Файл:5b2cb3dfe4a1.png]\]

h3. === Telnet group/user ===
h3. Telnet group/user

В биллинге автоматически выполняются скрипты по различным событиям и производят определенные манипуляции на сервере NAS через telnet.
\[[Файл:6995efa7efae.png]\]

h3. === DNS ===
h3. DNS

Для корректной работы интернет сервисов необходимо настроить службу \[[DNS]\].
\[[Файл:E8139d99b8af.png]\]

h3. === DHCP ===
h3. DHCP

Если Вы используете DHCP на NASе, то отключите его в биллинге.
Если вы решили использовать авторизацию PPPoE для юзеров - то выдавать IP адреса на физический интерфейс юзеров - не обязательно - тунель работает на основе MAC адресов клиента и сервера (на втором уровне (L2) семиуровневой модели \[[OSI]\]). (Но если все таки юзерам нужно видет друг друга в локалке мимо тунеля и сервера - тогда, конечно, назначайте адреса на физические фейсы юзерских девайсов).

h3. === VPN (secret/profile/radius) ===
h3. VPN (secret/profile/radius)

Самый лучший из тунелей - это \[[PPPoE]\] - так как он кушает гораздо меньше ресурсов, чем PPTP - потому что в микротике реализован как модуль ядра ("ядерный"), в отличие от PPTP/L2TP - демоны которых крутяться в userspace - пространстве для юзеров и из-за частой смены контекста выполняются "лишние" операции.
\[[Файл:84cef8874df8.png]\]

h3. === Traffic Flow ===
h3. Traffic Flow

Для подсчета объемов трафика и сбора подробной статистики нужно отсылать биллингу инфу о проходящем сквозь NAS трафике юзеров:
Включите traffic flow, выбирите все интерфейсы (all) и укажите куда отсылать netflow v5 - адрес вашего биллинга.

h3. === Radius Accounting ===
h3. Radius Accounting

Я лично отсылаю netflow версии 9 не на биллинг, а на отдельный сервер. (для справки - я юзаю debian + nfdump + nfsen). А объемы трафика у меня в биллинге считаются не с помощью netflow, а с помощью Radius протокола.
(важно - в общих настройках в манагере '' радиус аккаунтинг таймаут'' должен быть больше чем Acct-Interim-Interval, и как я уже выше советовал - ставьте таймаут сутки)

h3. === RADIUS ===
h3. RADIUS

Включаем radius пока только для VPN (ppp), позже рассмотрим работу radius + DHCP и + Hotspot
Прописываем адрес биллинга. И указываем ваш радиус секрет (тот, который вы придумали YOUR_RADIUS_SECRET)

h2. == Тарифы. Ideco ==
h2. Тарифы. Ideco

Рассмотрим четыре базовых тарифа и "турбокнопку".
Прежде чем создать тарифы - создайте в Ideco Manager "правила и сети". А лучше воспользуйтесь заготовками, которые есть в базе данных для примера. И не забывайте про онлайн документацию.

h3. === Простой безлимит (№1) ===
h3. Простой безлимит (№1)

\[[Файл:Dd19953e602e.png]\]
\[[Файл:7a88f3b62132.png]\]

h3. === Условный безлимит (скорость зависит от объема)(№2) ===

\[[Файл:Ed8c10cee402.png]\]
\[[Файл:35f51c301cb9.png]\]

h3. === "Помегабайтный" (цена зависит от объема) (№3) ===

\[[Файл:Ed0a1a7fc802.png]\]
И никто не мешает указать разную стоимость трафика для разных объемов, времени суток, и для входящего и исходящего - раздельно.

h3. === Безлимит - разная скорость в разное время суток (№4) ===

\[[Файл:D1fbdc2856dc.png]\]
Поэтому тут в Ideco не нужно указывать время и скорость.}}

h3. === Турбокнопка (№5) ===
h3. Турбокнопка (№5)

\[[Файл:4657a9a9e7e0.png]\]
\[[Файл:37d92db5de90.png]\]

h3. === Настройка группы и "карточки" юзера ===

Создайте группу по примеру:
Внимательно с признаком "финансовый" и "порогом отключения" и "периодом формирования акта" (варианты использования - в официальной документации)

h2. == Тарифы. MikroTik ==
h2. Тарифы. MikroTik

h3. === Дерево очередей. Родители. ===
h3. Дерево очередей. Родители.

Переходим к так называемому шейперу.
\[[Файл:744d9be53f95.png]\]

h3. === Cоздание типов очередей PCQ ===
h3. Cоздание типов очередей PCQ

В итоге скорость содержится в значении параметра pcq-rate=
И как я говорил выше - можно в любой момент тюнить скорость без всяких разрывов, меняя параметр pcq-rate=

h3. === Создание листьев в дереве очередей ===

Теперь создаем ветки шейпера на основе созданных нами правил разметки трафика и созданных типов очередей:


h3. === Расписание изменения скорости для тарифа №4 ===

У нас есть тариф, где нам нужно менять скорость, например днем 2M/2M, а ночью 50M/50M, (при этом можно конкретные часы/минуты/секунды можно менять произвольно, и при этом ничего не нужно править в биллинге):
\[[Файл:5d7869d4edbb.png]\]

h3. === Тарифы и Firewall Filter ===
h3. Тарифы и Firewall Filter

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

h2. == NAT ==
h2. NAT

Если Вы раздаете юзерам серые адреса и у Вас на внешнем фейсе в Микротике один белый (реальный) адрес - не забудьте настроить маскарадинг. В самом простом случае:


h3. == Динамическая раздача IP адресов==
h2. Динамическая раздача IP адресов


h3.

Для экономии белых адресов есть смысл раздавать их динамически и сохранять логи для спецслужб.
Для динамической выдачи адресов существует соответствующая вкладка в настройке тарифа в Ideco Manager:
Все вышесказанное - в контексте использования RADIUS протокола.

h3. == IPoE авторизация==
h2. IPoE авторизация


h3.

Есть тенденция избежать использование тунелей VPN (PPTP, L2TP, PPPoE) - чтобы упростить жизнь юзерам.
Ведь VPN тунели изначально придумали совсем не для того, чтобы "подключаться к интернету". Это уже позже их к этому приспособили.


h2. === IPoE с Radius ===
h3. IPoE с Radius


h3. ==== DHCP Mikrotik + MAC + Radius ====
h4. DHCP Mikrotik + MAC + Radius


h3.

В Микротике есть возможность связать DHCP с RADIUS.

И есть еще один нюанс - DHCP MikroTik не умеет Radius аккаунтинг. Т.е. объемы нужно в любом случае считать с помощью netflow (99,99999% так и делают). Но вот логика Ideco завязана на radius update пакеты - чтобы юзер оставался "онлайн" . Дальше пока даже не стал разбираться с нюансами: dhcp lease time, release (освобождение адреса), переподключения и прочие заморочки из реальной жизни.

h3. ==== DHCP Mikrotik + Opt.82 + Radius ====

Тут справедливо все вышесказанное, с той лишь разницей, что Тик может еще и опц82 передавать в радиус запросе для биллинга. И в биллинге можно ее анализировать вместо MAC юзера. (MAC можно игнорить - нафег он нам нужен). Для этого нужно прописать адрес DHCP relay (если релеев много - значит указать "принимать со всех - 255.255.255.255 или 0.0.0.0 - точно не помню - попробуйте оба варианта).
Недостатки схемы те же, что и в предыдущем случае. К тому же - в ideco нужно правильно "разбирать" поля опции82 - так как они для разных вендоров разные - тоже из коробки не будет работать пока-что. Если кому сильно надо - нужно обращаться к разработчкиам - '''они подпилят'''. (Конечно, если у Вас не бесплатная лицензия, поддержка на которую не оказывается). Хотя на демо версию - поддержка есть. И если Вы убедите их - что Вы - потенциальный клиент - собрались купить лицензию, и лишь "вот этот вот нюанс" вас останавливает ....)))

h3. ==== WiFi и HotSpot: Web авторизация + CHAP + Radius ====

Данная схема абсолютно рабочая и кошерная.
Кстати - HotSpot работает не только на беспроводном фейсе, но и вполне себе на Ethernet интерфейсах. О чем ниже...

h3. ==== WiFi и Ethernet HotSpot: MAC+Radius ====
h4. WiFi и Ethernet HotSpot: MAC+Radius


h3.

Можно использовать авторизацию по MAC адресу.

Схема - рабочая. Если не смущает собирать мак адреса клиентов и есть возможность обеспечить защиту от подмены мак адресов. Условно позиционируем эту схему для небольшой сети.

h3. ==== VirtualAP ====
h4. VirtualAP


h3.

Например: в торговом центре есть ваши точки доступа. 90% юзеров юзают говносмартфоны и говнопланшеты. Но есть 10% - которым нужно подключить какие-то банковские терминалы и прочие вундервафли, которые не умеют ни впн, ни веб авторизацию и вообще вай фай не умеют )))

Для того, чтобы наша (провайдерская) точка доступа могла и хотспот и впн одновременно - придумали Virtual AP - создаем на физическом беспроводном фейсе сколько нужно виртуальных AP - каждая из которых может иметь свой SSID, и типы авторизации (на одной AP включаем hotspot, на другой не включаем и юзаем VPN как обычно), а также наличие/отсутствие своих ключей. Для веб авторизации - оставить видимую беспроводную сетку без ключа. Для остальных извратов - сетку скрыть - ключом закрыть и настраивать индивидуальные роутеры клиентов - чтобы остальных не путать.

h3. === IPoE без Radius ===
h3. IPoE без Radius


h3.

''Особенности и причины использования IPoE без RADIUS AAA.''
Подведем промежуточные итоги:
Поэтому рассмотрим следующие варианты:

h3. ==== DHCP Ideco + Opt.82 ====
h4. DHCP Ideco + Opt.82


h3.

Итак, Микротик dhcp + radius + Ideco = пока не взлетел.

Внезапно можно написать скрипт или программку синхронизации биллинга и NAS и запускать в планировщике по расписанию с заданным интервалом. Тогда можно и для относительно большой сети эту схему применить.

h3. ==== DHCP Ideco + MAC ====
h4. DHCP Ideco + MAC


h3.

Тоже самое, что и предыдущая схема, только вместо опции82 - юзается MAC - для раздачи адресов.


h3. ==== IPoE без DHCP и Radius ====
h4. IPoE без DHCP и Radius


h3.

Можно в карточке юзера:
\-прописать его адрес вручную
(Есть еще такие, кто не юзает DHCP, а прописывает руками и делает привязки и фильтры на свичах - почему бы и нет - если оно работает))

h2. == Разное ==
h2. Разное


h3. === Редирект отрицательный баланс ===
h3. Редирект отрицательный баланс

IRL - удобно пользователей с превышенным лимитом отправлять на специальную страничку - где ему объясняется, что, мол, кончились денежки на счету у поциента). И там же описываете множество способов оплаты и размещаете прочие разные памятки и "важную полезную инфу" ).
Другими словами - на писюках нужно использовать минимум извращений. В идеале - если у Вас десятки тысяч клиентов - нужно юзать специализированное оборудование операторского класса (и уж точно не нужно юзать VPN в 21 веке - для "авторизации" доступа в Инет).

h3. === Исключить список ресурсов из шейпера ===

Нет ничего проще.
Таким образом можно сделать больше скорость на "городские ресурсы" (пиринговые ресурсы) - чем скорость в Инет

h3. === Отдельные шейперы для отдельных ресурсов на разных тарифах ===

Можной пойти дальше и сделать комбинации - для каждого тарифа - своя скорость не только в Инет - но и на эти "городские ресурсы". Это тоже абсолютно не сложно.

h3. === Разрешить список ресурсов для отрицательного баланса ===

Бывает полезно in real life разрешить "отрицательным" юзерам дать доступ к сайтам платежных систем, банков и прочих сотовых операторов - чтобы они могли спокойно оплатить услуги в субботу ночью не выходя из дома.
И всё.

h3. === Несколько серверов доступа ===
h3. Несколько серверов доступа

Для балансировки нагрузки и резерва и создания избыточной производительности - при условно большом к-ве пользователей - можно использовать несколько серверов доступа.
Прочие скрипты/протоколы/алгоритмы резервирования - выходят за рамки данной статьи.

h3. === "Строгий managment" (services/users/firewall input) ===
h3. "Строгий managment" (services/users/firewall input)

При использовании схемы в реальной жизни:
* можно/нужно ? установить с каких адресов разрешен доступ для различных служб/портов/сервисов - на трех уровнях: пользователи/службы/фаервол(Input).

h3. === Резервный радиус сервер: для случая выхода из строя биллинга (простая лаконичная схема) ===

Поднимем тему о том, что неплохо бы иметь резервный RADIUS сервер, который в случае серьёзного выхода из строя сервера с биллингом или проведения профилактики, мог бы продолжить авторизовывать юзеров.
Такие дела.

h2. == Послесловие ==
h2. Послесловие

Вышеописанная схема работает в реальной сети, которая выросла за 5 лет с 20 юзеров до 15 000.