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

по сравнению с
Текущая osv
на июн 05, 2013 16:57.

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

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

просмотр истории страницы
Информация предоставлена White_Crow с ресурса [http://xgu.ru/wiki/%D0%91%D0%B8%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3_Ideco_%D0%90%D0%A1%D0%A0_%2B_MikroTik_ROS|http://xgu.ru/wiki/%D0%91%D0%B8%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3_Ideco_%D0%90%D0%A1%D0%A0_%2B_MikroTik_ROS]

h2. Инструкция для версии Ideco АСР 3.9.7 и MikroTik Router OS 5.22


h2. Упрощенный пример интеграции для версии Ideco АСР >=3.9.7(RAD6) и MikroTik Router OS 5.22 для PPP пользователей


\!\! !Важно!\!\! Похоже, что нужно отвыкать от бренда Ideco и привыкать к названию Сarbon Soft. Ибо, насколько я понимаю - произошел раскол компании, и теперь есть уже два юрлица, два разных сайта, два разных бренда - и соответственно разные продукты - вместо АСР Ideco - Carbon Billing. Но так как это не простой и долгий процесс разделения - пока еще существует именно Ideco АСР 3.9.7. Потому что Carbon Billing 5 находится в статусе Beta.
(Чуть позже я "потискаю" данный продукт на предмет женитьбы его с MikroTik Router OS. И заодно потискаем новую версию MikroTik Router OS 6 - которая тоже пока в статусе beta, но обещает новые возможности и уровень производительности на свежем железе - т.к. обновилось ядро Linux и драйверы (интересно будет найти и потестить современные мощные серверные сетевые карты и свежую серверную платформу). И, возможно, сделаю отдельную инструкцию типа '''Carbon Billing 5 + MikroTik Router OS 6'''.

В статье рассматривается инсталляция и настройка связки ''Mikrotik'' и биллинговой системы ''Ideco ACP''. Рассматриваемая в статье связка может использоваться у малых и средних провайдеров доступа к сети Интернет для организации управляемого доступа. Схема опробована в инсталляции, насчитывающей около 15 000 пользователей.

== Введение ==
h2. Введение

Цель статьи --- осветить базовые нюансы настройки для взаимной работы в паре двух программных продуктов:

Прошу не путать два совершенно разных продукта Ideco ACP и Ideco ICS. (как выше уже писал - явно происходит разделение компании и постепенный ребрендинг Ideco ACP \-> Carbon Billing)

== Установка и первичная настройка ==
h2. Установка и первичная настройка

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

== Лицензии ==
h2. Лицензии

Для ознакомления с данными программными продуктами существуют полнофункциональные демоверсии, которые можно скачать на официальных сайтах.
К слову, лицензию Ideco АСР на 200 юзеров можно получить легально и БЕСПЛАТНО, обратившись в отдел продаж компании разработчика. И у компании есть собственная разработка сервера доступа --- Carbon AS 4 ® --- в том числе и с бесплатной лицензией, о чем можно подробней прочитать на официальном сайте.

== Базовая Схема. Краткое описание ==
h2. Базовая Схема. Краткое описание

\[[Файл:Cd7c181c87bf.png]\]
!Cd7c181c87bf.png!

Понятия:
Далее рассмотрим подробней различные аспекты совместной работы двух систем.

== Базовая Настройка Ideco АСР ==
h2. Базовая Настройка Ideco АСР

Инструкция актуальна для версии Ideco АСР 3.9.7
Просто замечу: я рекомендую использовать для коммерческого использования именно версию 3.9, так как продукт за последний год сильно доработан и улучшен.

=== Создание пользователя root ===
h3. Создание пользователя root

Первым делом создайте пользователя ''root''
(не путать с устаревшим разделом: "Создание пользователя root").

=== Консольное меню ===
h3. Консольное меню

Откройте консольное menu
!Файл:0f4d8356d57d.png!

\[[Файл:0f4d8356d57d.png]\]
h4. RADIUS

==== RADIUS ====

Настройте \[[RADIUS]\] сервер таким образом:
''Конфигурирование сервера \-> RADIUS-Сервер...''

[x] Включить RADIUS-сервер
[x] Удалять лишние пробелы из логина RADIUS
.
[x] Использовать процедуры версии 6

==== \[[NetFlow]\] ====
h4. NetFlow


h3.

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

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

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


h3.

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

и пропишите свой ''IP-адрес компьютера администратора'':

[http://s008.radikal.ru/i306/1210/c0/0cf1dda0db01.png]
!0cf1dda0db01.png!

Для возможности правки некоторых файлов нужно в локальном меню зайти в пункт ''Сервис'' и нажать на пункт ''"Разрешить запись из \[[SFTP|WinSCP]\] на раздел с резервными копиями"''.

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

==== События и скрипты ====
В локальном меню проверьте наличие галочки в пункте:
h4. События и скрипты

В локальном меню проверьте наличие галочки в пункте:
''Конфигурирование сервера \-> Дополнительные настройки \-> Настройки для разработчиков...''

[x] Запускать скрипт обработки событий

[http://s019.radikal.ru/i604/1210/68/3e513a6fffa1.png]
!3e513a6fffa1.png!

Перезагрузите сервер Ideco корректно из меню:

[http://s017.radikal.ru/i417/1210/90/699cbf874a8a.png]
!699cbf874a8a.png!

"Зайдите" на сервер с помощью \[[SFTP]\] на порт 33 под учетной записью root.
Я в линухе "из коробки" ввожу прямо так:

\[[Файл:E394e1c7e08e.png]\]
!E394e1c7e08e.png!

Перейдите в директорию <tt>/var/lib/event/</tt>
Выделите все и удалите. Затем вставьте следующее:
{code}
/usr/bin/selfkiller -30:TERM -50:KILL & disown -a
LOG_LEVEL=ALL

sendsms(){
sms="${sms//[^0-9]/}"
if [ "${#sms}" -lt 11 ]; then
LOG WARN "Phone number of abonent $id is too short. SMS not sent."
return 1
fi

}

SENDER=$1; shift
EVENT=$1; shift
##################################################################################################
"balance_negative")
if [ "$radius_logged" = "1" -a "$nas_ip" != "0.0.0.0" ]; then
/usr/local/bin/expect /var/lib/event/event1.sh $nas_ip $ip $telnet_user $telnet_password $nas_identity
fi
##################################################################################################
"balance_positive")
if [ "$radius_logged" = "1" -a "$nas_ip" != "0.0.0.0" ]; then
/usr/local/bin/expect /var/lib/event/event3.sh $nas_ip $ip $telnet_user $telnet_password $nas_identity $ceil_in $ceil_out
fi
##################################################################################################
"login") #Only for IP_auth
if [ "$nas_ip" != "0.0.0.0" -a "$auth_type" = 1 ]; then
if [ "$over_limit" = "0" ]; then
/usr/local/bin/expect /var/lib/event/event3.sh $nas_ip $ip $telnet_user $telnet_password $nas_identity $ceil_in $ceil_out
##################################################################################################
"logout") #Only for IP_auth
if [ "$nas_ip" != "0.0.0.0" -a "$auth_type" = 1 ]; then
/usr/local/bin/expect /var/lib/event/event2.sh $nas_ip $ip $telnet_user $telnet_password $nas_identity
fi
esac
{code}

{{caution\|text=
'''Важно\!\!\!''' Если в венде это делаете - Файл должен содержать unix символы окончания строки.
(если не знаете, что это такое, и как в венде в разных текстовых редакторах выбрать тип окончания строки...погуглите (если, конечно, в "вашей стране" еще не закрыли доступ в гугл ))).
}}



Запишите на бумажку:

Установите на вышесозданные файлы - execute права.

=== Manager ===
h3. Manager

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

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


h3.

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

\[[Файл:E5be392f8822.png]\]
!E5be392f8822.png!

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

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


h3.

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

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

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


h3.

Добавляете пул адресов, которые через RADIUS будут выдаваться юзерам в VPN тунели
(не имеет значения - белые адреса, либо серые).
Позже также мы рассмотрим варианты с "динамическими" и "статическими" адресами, а также нюансы с белыми и серыми адресами, и варианты без VPN тунелей и использование DHCP.
!2ec78ce4ddc5.png!

\[[Файл:2ec78ce4ddc5.png]\]
h2. Базовая настройка MikroTik ROS

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

=== Identity ===

Как уже упоминалось ранее - имя вашего сервера Микротик нельзя менять от балды, по дефолту пропишите
в разделе ''System \-> Identity'' : ''nas1''

\[[Файл:5b0b2b6aa11b.png]\]
5b0b2b6aa11b.png\!

=== Clock ===
h3. Clock

Нужно настроить время на NASе для нормальной работы и логов.
Пропишите ближайшие к Вам два надежных сервера NTP.
!5b2cb3dfe4a1.png!

\[[Файл:5b2cb3dfe4a1.png]\]
h3. Telnet group/user

=== Telnet group/user ===

В биллинге автоматически выполняются скрипты по различным событиям и производят определенные манипуляции на сервере NAS через telnet.

нажмите Ok.

\[[Файл:D3b988179489.png]\]
!D3b988179489.png!

Далее жмите вкладку ''Users''.
Укажите и подтвердите пароль созданного юзера ''user2'' (тот, что я просил выше придумать вместо YOUR_TELNET_PASSWD и записать на бумажке)

\[[Файл:6995efa7efae.png]\]
!Файл:6995efa7efae.png!

=== DNS ===
h3. DNS

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


\[[Файл:E8139d99b8af.png]\]
!Файл:E8139d99b8af.png!

=== DHCP ===
h3. DHCP

Если Вы используете DHCP на NASе, то отключите его в биллинге.
Запустите мастера настройки DHCP сервера на Микротике.

\[[Файл:F6a4a1263577.png]\]
!F6a4a1263577.png!

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

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

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

\[[Файл:1484afa87036.png]\]
!Файл:1484afa87036.png!

Далее настройте профиль default:

\[[Файл:798feb700475.png]\]
!798feb700475.png!

и

\[[Файл:De78a5f63cfd.png]\]
!De78a5f63cfd.png!




\[[Файл:Ebfff5a9b21d.png]\]
!Ebfff5a9b21d.png!

Включаем PPPoE сервис на локальном интерфейсе с профилем default:

\[[Файл:08274ccdb2f6.png]\]
!08274ccdb2f6.png!

Если вместо PPPoE решили юзать PPTP или L2TP - включите нужный Вам сервис:

\[[Файл:84cef8874df8.png]\]
!84cef8874df8.png!

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

Для подсчета объемов трафика и сбора подробной статистики нужно отсылать биллингу инфу о проходящем сквозь NAS трафике юзеров:

\[[Файл:0356d6ff15f4.png]\]
!0356d6ff15f4.png!

Включите traffic flow, выбирите все интерфейсы (all) и укажите куда отсылать netflow v5 - адрес вашего биллинга.

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

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

\[[Файл:F118f4e0c220.png]\]

Это нужно, когда у вас десятки тысяч юзеров и гигабиты трафика в секунду - чтобы не напрягать биллинг. Таким образом легко можно масштабировать \[[NetFlow]\] коллекторы - например условно на каждых 5 NASов - свой нетфлоу коллектор.

(важно - в общих настройках в манагере '' радиус аккаунтинг таймаут'' должен быть больше чем Acct-Interim-Interval, и как я уже выше советовал - ставьте таймаут сутки)

=== RADIUS ===
h3. RADIUS

Включаем radius пока только для VPN (ppp), позже рассмотрим работу radius + DHCP и + Hotspot

\[[Файл:Eae38e5b953f.png]\]
!Eae38e5b953f.png!

Прописываем адрес биллинга. И указываем ваш радиус секрет (тот, который вы придумали YOUR_RADIUS_SECRET)

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

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

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

\[[Файл:Dd19953e602e.png]\]
!Dd19953e602e.png!

Пусть вас не смущает, что я написал скорость "1". Это не килобиты в данном случае, а номер, который будет передаваться в Микротик. Есть лицензия на Ideco - которая позволяет обойтись без использования NAS и пропускать трафик через сервер биллинга - в этом случае тут пишутся реальные скорости в килобитах для шейпера Ideco SoftRouter. В нашем случае трафик идет не через Ideco, а через Микротик - там мы и будем позже настраивать шейпер.
{{note\|text=В описываемой мной схеме - RADIUS атрибуты в тарифе прописывать не нужно\!\!\!}}

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

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

\[[Файл:Ed8c10cee402.png]\]
!Ed8c10cee402.png!

До 200 Гигов входящего объема - скорость номер 2

\[[Файл:A85365aa5229.png]\]
!A85365aa5229.png!


После 200 Гигов входящего объема - скорость номер 22 - до конца месяца.

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

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

\[[Файл:Ed0a1a7fc802.png]\]
!Ed0a1a7fc802.png!

Тут никто не мешает добавить других правил и подсетей с другой стоимостью мегабайтов.
И никто не мешает указать разную стоимость трафика для разных объемов, времени суток, и для входящего и исходящего - раздельно.

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

\[[Файл:D1fbdc2856dc.png]\]
!D1fbdc2856dc.png!

{{note\|text=Внимание\! Мы будем менять скорость в разное время суток для этого тарифа - на Микротике (об этом позже).
Поэтому тут в Ideco не нужно указывать время и скорость.}}

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

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

Укажите стоимость услуги, номер скорости, время действия турбо-режима, и разрешите заказ через веб кабинет.
Важно: Во всех тарифах отключите "Разрешить все услуги с флагом "заказ через Web" и явно добавьте в каждый тариф нужные услуги, в том числе и турбокнопки, коих можно создать неограниченное к-во с разными параметрами цены. скорости и времени действия.

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

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

Создайте группу по примеру:

\[[Файл:277309f71e9a.png]\]
!277309f71e9a.png!

Cоздайте юзеров по примеру:

\[[Файл:4f19a5fd80fa.png]\]
!4f19a5fd80fa.png!

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

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

=== Дерево очередей. Родители. ===
Переходим к так называемому шейперу.
h3. Дерево очередей. Родители.

Переходим к так называемому шейперу.
Кого интересует теория - можно немного почитать [http://wiki.mikrotik.com/images/8/8d/QoS_Megis_%28Russian_translate_by_white_crow_rev.2%29.pdf тут] мой перевод одной презентации (\[[Media:QoS Megis (Russian translate by white crow rev.2).pdf|скачать]\])

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=Total_upload packet-mark="" parent=global-out priority=1

=== Маркировка трафика в Mangle ===
h3. Маркировка трафика в Mangle

Итак, настроим маркировку трафика в двух направлениях (download/upload) для наших четрыех тарифов и турбокнопки:
В итоге должно получится вот так:

\[[Файл:744d9be53f95.png]\]
!744d9be53f95.png!

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

В итоге скорость содержится в значении параметра pcq-rate=
В итоге должно получиться так:

\[[Файл:936279405a39.png]\]
!936279405a39.png!

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

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

Теперь создаем ветки шейпера на основе созданных нами правил разметки трафика и созданных типов очередей:
В итоге получаем окончательный шейпер (дерево очередей) для наших тарифов и турбокнопки:

\[[Файл:45e6851bbfec.png]\]
!45e6851bbfec.png!


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

У нас есть тариф, где нам нужно менять скорость, например днем 2M/2M, а ночью 50M/50M, (при этом можно конкретные часы/минуты/секунды можно менять произвольно, и при этом ничего не нужно править в биллинге):
В итоге получаем:

\[[Файл:5d7869d4edbb.png]\]
!5d7869d4edbb.png!

=== Тарифы и Firewall Filter ===
Итак закончили с разметкой трафика и шейпингом - теперь приступим к фильтрации трафика:
h3. Тарифы и Firewall Filter

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

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

Если Вы раздаете юзерам серые адреса и у Вас на внешнем фейсе в Микротике один белый (реальный) адрес - не забудьте настроить маскарадинг. В самом простом случае:
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1-Ext


== Динамическая раздача IP адресов==
Для экономии белых адресов есть смысл раздавать их динамически и сохранять логи для спецслужб.
h2. Динамическая раздача IP адресов


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

Все вышесказанное - в контексте использования RADIUS протокола.

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


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


=== IPoE с Radius ===
==== DHCP Mikrotik + MAC + Radius ====
h3. IPoE с Radius


h4. DHCP Mikrotik + MAC + Radius


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

\[[Файл:Cd26baaca499.png]\]
!Cd26baaca499.png!


И есть еще один нюанс - 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 - точно не помню - попробуйте оба варианта).

\[[Файл:B1b27531d95e.png]\]
!B1b27531d95e.png!

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

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

Данная схема абсолютно рабочая и кошерная.
С той лишь разницей - на точках доступа используется не VPN, а HOTSPOT - в котором есть полноценный RADIUS c аккаунтингом:

\[[Файл:6a3ed6a90ef2.png]\]
!6a3ed6a90ef2.png!

Включаем Web авторизацию + CHAP:

\[[Файл:Dba8e01fd594.png]\]
Dba8e01fd594.png\!

В итоге в браузере клиента появится окошко, где нужно вводить имя и пароль. Эту страничку можно разукрасить как угодно. И добавить разных ссылок и полезных каментов и объясняшек и т.д.
Кстати - HotSpot работает не только на беспроводном фейсе, но и вполне себе на Ethernet интерфейсах. О чем ниже...

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


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

\!\!\! При этом, напоминаю, HotSpot не только для беспроводной сети - он отлично работает и на ethernet интерфейсах. И если веб авторизация явно предназначена для беcпроводных клиентов в лице разных мобилок и прочих девайсов аля планшетики, то хотспот + MAC авторизация - вполне органично может использоваться в Ethernet сети для проводных клиентов.

[http://i047.radikal.ru/1210/3a/7a66ac754671.png]
!7a66ac754671.png!

На ideco соответственно вместо имени и chap пароля юзера - проверяется только MAC адрес юзера и общий пароль. (на скрине выше заполните поле MAC Auth. Password ), и пропишите этот "общий" радиус пароль в Ideco Manager - в св-вах соответсвующего NASa ("оборудование" - "маршрутизаторы" - ... выбираем NAS ... - "USERS_PSW" ):

[http://s017.radikal.ru/i414/1210/66/cc975314fe76.png]
!cc975314fe76.png!

MAC передается заглавными символами. По-поводу дефисов и двоеточий - выбирайте шаблон в Тике в ниспадающем списке "MAC Format" ("IP - Hotspot - Radius"):

[http://s019.radikal.ru/i639/1210/fa/f22db194be50.png]
!f22db194be50.png!

\!\!\! Внимание - вписывайте MAC в поле "Логин" - в карточке юзера в Ideco менеджере.

[http://s006.radikal.ru/i213/1210/7a/bcea2859e234.png]
!bcea2859e234.png!

\!\!\! Нужно отключить фишку на Ideco, которая режет пробелы и заглавные символы в радиус запросах (да - таки эта фишка кроме пробелов еще режет символы A-Z - чуть ниже расскажу зачем вообще она нужна):

\[[Файл:B6b501aba4cf.png]\]
!B6b501aba4cf.png!

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

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

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

=== IPoE без Radius ===
''Особенности и причины использования IPoE без RADIUS AAA.''
h3. IPoE без Radius

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

Поэтому рассмотрим следующие варианты:

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

Итак, Микротик dhcp + radius + Ideco = пока не взлетел.
\!\!\! Скрипт обработки событий универсальный - не требует допила - \!\!\! можно юзать '''смешанную схему''' - и VPN и ip авторизацию. Соответственно и настройки NASа в Ideco - ничем не отличаются:

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

(пусть вас не смущают галочки "лишние" - это для универсальности: VPN + radius и схема IPoE без радиус могут работать одновременно\!). Понятно, что радиус и впн можно и не настраивать - IPoE все равно будет работать\!
Так как приходится обходится без радиуса - то биллинг ни черта не в курсе через какой NAS там форвардится юзерский траф - поэтому в "карточке" клиента нужно прописать NAS IP и залочить галочку.

\[[Файл:36223c24f223.png]\]
!36223c24f223.png!

Недостаток схемы - из-за отсутствия радиуса - нет фактического логина/логаута - нет постоянной "актуализации" в каком листе юзер должен находится. Событие "логин" происходит формально один раз. Юзер как бы подключен всегда - нет явных сессий по факту. Трафик рулиться с помощью редких событий - баланс негатив и позитив (так как юзеры платят сразу на неделю или даже месяц). В итоге может происходит "рассинхрон" между биллингом и NAS.
Внезапно можно написать скрипт или программку синхронизации биллинга и NAS и запускать в планировщике по расписанию с заданным интервалом. Тогда можно и для относительно большой сети эту схему применить.

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

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


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

Можно в карточке юзера:
\-прописать его адрес вручную

\-IP NAS прописать и залочить

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

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


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

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

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

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

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

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

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

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

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

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

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

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

=== "Строгий managment" (services/users/firewall input) ===
При использовании схемы в реальной жизни:
h3. "Строгий managment" (services/users/firewall input)

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

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

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

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

Вышеописанная схема работает в реальной сети, которая выросла за 5 лет с 20 юзеров до 15 000.
В статье описаны самые основные базовые моменты. Как известно - существует множество решений одной и той же задачи, и множество инструментов. Я описал лишь одную "узкую тропинку". После ваших тренировок на виртуальном стенде и понимания базовых нюансов - вы можете тюнить систему под особенности вашей инфраструктуры.