Просмотр Исходного

{toc:maxLevel=2}

h2. Настройка авторизации (RADIUS AUTH)

Биллинг может проводить авторизацию через RADIUS по различным входным данным из radius request, который приходит на биллинг. Данные параметры выбираются на вкладке *Оборудование - NAS - Дополнительно*
По умолчанию при выборе определенной стандартной OSS схемы данные опции уже выбраны и менять их не нужно, однако Вы так же можете настроить авторизацию под свою пользовательскую схему, если это необходимо.


!radius_auth1.png|border=0!


Данные настройки отвечают за то, по какому именно полю биллинг будет пытаться найти абонента в БД.



h3. Описание полей
* *Проверять login* - Поиск пользователя по полю *Логин* в учетной записи
* *Проверять IP* - Поиск пользователя по полю IPv4 в учетной записи
* *Проверять MAC* - Используется для схемы Mikrotik IPoE + Radius, совместно с опцией *Проверять логин*
* *Не отправлять framed-ip-address* - Используется для того, чтобы в *Access-accept*'e от биллинга не отправлялся атрибут *FRAMED-IP-ADDRESS*

h3. Примеры
{code:title=Пример запроса Access-Request от Microtik CHR}
rad_recv: Access-Request packet from host 10.90.185.100 port 38454, id=3, length=133
NAS-Port-Type = Ethernet
NAS-Port = 2206203907
Calling-Station-Id = "1:52:54:0:d7:cc:2b"
Framed-IP-Address = 10.64.15.20
Called-Station-Id = "mikrotik_carbon_dhcp"
User-Name = "test123"
User-Password = ""
NAS-Identifier = "MikroTik"
NAS-IP-Address = 10.90.185.100
{code}

В случае, если в настройках NAS'a выбран тип *Проверять login* - биллинг будет пытаться найти абонента в БД, у которого в [поле login|CarbonBilling:Учетная запись. Создание и изменение.] будет *test123*. Сопоставление будет происходить всегда по полю *User-Name* из Access-Request

h2. Особые настройки

!radius_2.png|border=0!

h3. Разрешить переподключаться с первого раза, рекомендуется на время интеграции

h4. Включена
Все запросы на авторизацию от одного и того же абонента, в случае, если абонент найден и не заблокирован, будут разрешены биллингом и в ответ на них биллинг отправит *Access-Accept*.
*Access-Accept* будет отправлен независимо оттого авторизован пользователь уже на биллинге или не авторизован.

h4. Отключена
Если на биллинг придет запрос на авторизацию от абонента, который считается биллингом уже авторизованным - биллинг сначала отправит на оборудование команду user_disconnect и сбросит сессию на своей стороне. При этом на первый запрос авторизации будет отправлен *Access-reject* с ошибкой *you already logged in*

h2. Основные настройки


!osnov.png|border=0!


h3. Описание полей

* *Пересоздавать сессию*. В случае, если по какой то причине на биллинге будет информации о том, что авторизованный на оборудовании пользователь не авторизован в данный момент (например, не пришел *radius accounting start* пакет), при включении данной опции сессия будет создана при получении *radius accounting update*.

* *Передавать пароль в скрипт событий*. Если данная опция включена - биллинг будет передавать пароль из учетной записи пользователя в скрипт событий session в поле *user_psw*.

h2. Отладка авторизации

# В [настройках в файле|CarbonBilling:Настройки (в файле)] включите опцию "Включить DEBUG для Radius демона"
# В терминале запустите мониторинг лога
{code}tail -f /app/asr_billing/var/log/radius/radius_debug.log{code}
# Совершите авторизацию
# Дальше - по ситуации, но нужно помнить что для успешной авторизации в логе должны быть три SQL-запроса:
#* Первый возвращает радиусу информацию о наличии учётной записи
{code}SELECT ... FROM RAD6_CHECK ('CHECK'{code}
#* Второй возвращает необходимые атрибуты, которые нужно отправить в Access-Accept
{code}SELECT ... FROM RAD6_CHECK ('REPLY'{code}
#* Третий проводит дополнительные проверки. Должен вернуть "0"
{code}SELECT ... FROM RAD6_CHECK ('SIMUL'{code}