|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (4)
просмотр истории страницы{toc} |
h1. Добавить общий пароль в запрос через файл hints |
... |
{code} mkdir -p /app/asr_billing/cfg/etc/raddb/ |
cp /app/asr_billing/etc/raddb/hints /app/asr_billing/cfg/etc/raddb/hints |
{code} # Добавьте в конец хинт, который добавит к запросу общий пароль: |
... |
# NAS ESR 1000, ID 1115 DEFAULT NAS-IP-Address == "172.0.0.1" |
User-Password := "SUPER-SECRET-PASSWORD-FROM-SETTINGS" "IPoE-COMMON-SECRET" |
{code} Здесь нужно поменять следующие параметры: |
... |
При этом типе авторизации у абонента обязательно должен быть указан SWITCH. При этом PORT указывать необязательно. {note} |
h1. Авторизация лишнего пакета через файлы users и hints Это кейс для оборудования Eltex ESR. Помимо авторизации сессии, BRAS делает дополнительный запрос на авторизацию сервиса. Он передаётся только когда сессия уже создана, и все нужные атрибуты уже переданы на оборудование. Биллинг дополнительный запрос обрабатывать не умеет, поэтому необходим тюнинг RADIUS. Пример настроек {{users}} дан в документации Eltex при [авторизации без SoftWLC|https://docs.eltex-co.ru/pages/viewpage.action?pageId=219939101#id-УправлениеBRAS(BroadbandRemoteAccessServer)-ПримернастройкибезSoftWLC]. В примере профиль {{INTERNET}} пропускает пользователя в интернет, а профиль {{BYPASS}} запрещает доступ, на Eltex это названия ACL. Нужно поправить файл {{users}} сервера авторизации и файл {{hints}} сервера аккаунтинга: # За основу возьмите стандартный файл {{users}} {code} mkdir -p /app/asr_billing/cfg/etc/raddb/ cp /app/asr_billing/etc/raddb/users /app/asr_billing/cfg/etc/raddb/users {code} # Добавьте в конец файла {{users}} записи для профилей INTERNET и BYPASS: {code} INTERNET Cleartext-Password := "IPoE-COMMON-SECRET" User-Name = "INTERNET", Cisco-AVPair = "subscriber:traffic-class=INTERNET", Cisco-AVPair += "subscriber:filter-default-action=permit" BYPASS Cleartext-Password := "IPoE-COMMON-SECRET" User-Name = "BYPASS", Cisco-AVPair = "subscriber:traffic-class=BYPASS", Cisco-AVPair += "subscriber:filter-default-action=redirect" {code} #* INTERNET и BYPASS в первой строке профиля - имя профиля (ACL на Eltex), оно будет приходить в запросах аккаунтинга в поле User-Name #* INTERNET и BYPASS в атрибуте {{User-Name}} - тоже должно соответствовать ACL #* {{subscriber:traffic-class}} - должно соответствовать имени ACL #* Cleartext-Password - общий IPoE пароль. Этот запрос не доходит до биллинга, но для удобства укажите тот же пароль, что в настройках NAS в биллинге #* {{subscriber:filter-default-action}} - оставьте без изменений # Добавьте файл {{hints}}, чтобы к запросу добавился атрибут {{Framed-IP-Address}}, иначе биллинг отбросит запрос и NAS не завершит создание сессии. За основу возьмите стандартный файл {{hints}}: {code} mkdir -p /app/asr_billing/cfg/etc/raddb_acc/ cp /app/asr_billing/etc/raddb_acc/hints /app/asr_billing/cfg/etc/raddb_acc/hints {code} # Добавьте в конец хинт, который добавит к запросу атрибут Framed-IP-Address: {code} # NAS ESR 1000, ID 1115 INTERNET User-Name == "INTERNET" Framed-IP-Address := "0.0.0.0" BYPASS User-Name == "BYPASS" Framed-IP-Address := "0.0.0.0" {code} # Последним шагом, перезапустите контейнер биллинга {code}/app/asr_billing/service restart{code} h1. Accounting-On и Accounting-Off Оборудование может отправлять пакеты Accounting-On и Accounting-Off при старте и завершении работы NAS. Это реализовано не в каждом телеком устройстве, а для работы биллинга не критично, если их не будет. Если есть возможность их отключить - отключите. Если такой возможности нет, необходимо поправить интеграцию RADIUS с БД биллинга, т.к. обработка этих пакетов не реализована в ядре. Сделайте следующее: # За основу возьмите стандартный файл из конфигурации биллинга: {code} mkdir /app/asr_billing/cfg/etc/raddb_acc/sql/firebird/ /app/asr_billing/skelet/etc/raddb_acc/sql/firebird/dialup.conf {code} # Установите правильные права {code} chmod 640 /app/asr_billing/cfg/etc/raddb_acc/sql/firebird/dialup.conf {code} # Откройте файл на редактирование, например редактором {{vim}}: {code} vim /app/asr_billing/cfg/etc/raddb_acc/sql/firebird/dialup.conf {code} # Найдите, описание переменной {{accounting_onoff_query}}, по-умолчанию такой текст: {code} accounting_onoff_query = "SELECT RESULT FROM RADIUS_ACCT_ONOFF ( \ '%S', \ '%{Acct-Terminate-Cause}', \ '%{Acct-Delay-Time}', \ '%{NAS-IP-Address}' \ )" {code} # Замените на значение переменной на пустую строку, должно получиться так: {code} accounting_onoff_query = "" {code} # Сохраните файл, закройте и перезапустите биллинг: {code} /app/asr_billing/service restart {code} После этого, в FreeRADIUS будет отправлять пустой ответ за запрос аккаунтинга этих типов. Это корректное поведение, согласно RFC. |