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

h2. Описание авторизации

# Абонент физически подключен к шлюзу, который является абонентским интерфейсом и пытается получить адрес по dhcp
# На Cisco приходит dhcp запрос от коммутатора, к которому подключен абонент. В запросе должен быть указан серийный номер оборудования.
# Cisco проверяет серийный номер оборудования, который пришел в dhcp запросе и создает radius запрос, который посылает на radius server (биллинг). Серийный номер оборудования передается в атрибуте *User-name*
# Биллинг при получении radius запроса проверяет есть ли абонент, у которого в учетной записи в поле "Серийный номер оборудования" содержится серийный номер, который пришел от Cisco
# Если абонент найден - в ответ уйдет *Access-Accept* на Cisco
# При получении *Access-Accept* от биллинга, Cisco формирует dhcp запрос и отправляет его на dhcp - сервер (на биллинг)
# Dhcp - сервер на стороне биллинга с помощью параметров парсинга находит абонента по серийному номеру оборудования и отправляет на Cisco *dhcp-ack*
# Cisco проксирует полученный *dhcp-ack* от биллинга обратно на коммутатор
# Далее коммутатор *dhcp-ack* проксирует обратно до абонента
# В конце мы имеем уже установившуюся сессию на cisco и полученный адрес на абоненте


h2. Описание схемы

На основе ini файлов и tmplt создается конфигурация

*Конфигурация cisco разбита на отдельные файлы по смыслу:*


abon_acl.cfg.tmplt - шаблон для создания access list'ов
abon_service.cfg.tmplt - шаблон для создания локальных сервисов
ipoe.cfg.tmplt - шаблон для настройки авторизации по hwserial. Здесь же идет настройка radius и coa

*Шаблоны формируются на основании данных из ini файлов:*

abon.ini
main.ini
ipoe.ini
{info}
Данные в ini файлы попадают из базы данных с вкладки "Управления абонентами и тарифами - Оборудование - NAS" и далее настройки конкретного NAS'а.
{info}



*В каталоге bin расположен скрипт управления оборудованием session*




{color:#ff0000}{*}Примечание{*}{color}{color:#000000}*: Стандартная схема будет работать только на моделях Cisco с поддержкой модуля ISG\!*{color}

h3. Ключевые параметры NAS'а, которые обязательно необходимо заполнить при интеграции Cisco по схеме Cisco-ISG-HWserial:
- *Название.* Без названия биллинг не позволит добавить NAS. Подойдет любое название без спецсимволов.
- *IP-адрес.* Адрес из этого поля будет добавлен в конфигурацию RADIUS Client на биллинге и на запросы, которые приходят на RADIUS сервер с этого адреса RADIUS Server сможет ответить. Если запросы будут приходить на биллинг с адресов, которые не указаны ни на одном NAS'e, ответ от биллинга будет Reject.
- *Стандартная схема OSS.* От этого поля зависит, как именно биллинг будет генерировать схему. Здесь выбираем "Cisco-ISG-HWserial"
!name.png|border=1!
- *Radius_secret.* Это общий пароль для всех RADIUS авторизаций между биллингом и Cisco. Пароль попадёт в шаблон и от туда в схему. Использование спецсимволов в этом поле не рекомендуется.
- *Coa_port.* Порт для управления через radclient. По умолчанию 3799. Менять не рекомендуется.
- *Coa_psw.* Пароль для radclient.
- *Telnet_login.* Логин для управления оборудованием.
- *Telnet_password.* Пароль для управления оборудованием. Спецсимволы запрещены.
- *Telnet_port.* Порт для управления оборудованием.
- *Telnet_ip.* IP-адрес для отправки команд. По этому адресу будут отправляться команды биллингом.
- *Telnet_type.* Тип подключения для отправки команд ssh/telnet.
- *IP-адрес радиус сервера.* Здесь нужно указать пул billing_ip, который должен быть предварительно заполнен в справочнике биллинга.
- *IP-адрес кабинета.* Здесь нужно указать пул cabinet_ip, который должен быть предварительно заполнен в справочнике биллинга.
- *Не посылать user_disconnect при получении Radius Stop.* Важная опция! Обязательно нужно включить. Она запрещает отправку user_disconnect при получении accounting_stop пакета.
- *Интерфейсы подключения абонентов, через запятую*. На этих интерфейсах будет настроена авторизация по первому пакету IPOE.
- *Интерфейс, на котором указан IP-адрес этого NAS'а*. Здесь нужно указать название интерфейса, на котором указан адрес из пункта *IP-адрес*


h2. Пример запросов
h6. Access-Request
{code}
rad_recv: Access-Request packet from host 172.16.1.3 port 1645, id=12, length=221
User-Name = "485555444BBDCCCC"
User-Password = "servicemode"
NAS-Port-Type = PPPoEoVLAN
NAS-Port = 7937
NAS-Port-Id = "15/0/1/2015"
Cisco-AVPair = "circuit-id-tag=485555444BBDCCCC"
Service-Type = Outbound-User
NAS-IP-Address = 172.16.1.3
Acct-Session-Id = "15/0/1/2015_00001F01"
Event-Timestamp = "Oct 1 2020 14:20:43 +04"
{code}
h6. Access-Accept
{code}
Sending Access-Accept of id 12 to 172.16.1.3 port 1645
Acct-Interim-Interval := 600
Cisco-AVPair += "accounting-list=AAA_LIST_IPOE"
Cisco-Account-Info += "AFWPOL_ACCEPT"
Cisco-Account-Info += "QU;1024000000;D;1024000000"
{code}