1. Схема включения
Рассмотрим типовую схему включения абонентов BRAS и возможные проблемы при настройке.
Для каждого абонента на BRAS создается сессия для абонента (session id) и его сервисов (service id), номера сессии уникальны. Номер session id можно использовать для поиска информации в логах Поратал и PCRF.
Вывести список активных сессий можно командой show subscriber-control sessions status:
esr1000# show subscriber-control sessions status Session id User name IP address MAC address Interface Domain -------------------- --------------- --------------- ----------------- ------------------ --------------- 576460752303423705 -- 192.168.133.219 20:47:da:00:39:e3 gi1/0/1.2336 --
В приведенном выше примере пользователь не авторизован, никакие сервисы ему не назначены.
esr1000# show subscriber-control sessions status Session id User name IP address MAC address Interface Domain -------------------- --------------- --------------- ----------------- ------------------ --------------- 576460752303423705 79123456789 192.168.133.219 20:47:da:00:39:e3 gi1/0/1.2336 eltex.root
В приведенном выше примере пользователь авторизован.
Что бы просмотреть, какие сервисы назначены пользователям надо выполнить команду show subscriber-control services status:
esr1000# show subscriber-control services status Service id Session id Service name User name Quota volume Quota time (Bytes) (Seconds) -------------------- -------------------- --------------- --------------- -------------- -------------- 36028797018963985 576460752303423705 A INTERNET 79123456789 -- --
В приведенном выше примере видно, что пользователю назначен сервис INTERNET, буква A означает, что он активен.
Просмотреть список сервисов определённой сессии можно командой show subscriber-control services status session-id <номер сессии>:
esr1000# show subscriber-control services status session-id 576460752303423705 Service id Session id Service name User name Quota volume Quota time (Bytes) (Seconds) -------------------- -------------------- --------------- --------------- -------------- -------------- 36028797018963986 576460752303423705 N INTERNET 79123456789 -- -- 36028797018963987 576460752303423705 A WELCOME 79123456789 -- --
В приведенном выше примере видно, что пользователю назначено два сервиса WELCOME и INTERNET, но активный сервис WELCOME, т.к. помечен буквой A. Это означает, что для клиента выполняется редирект на страницу "Мы вас узнали", где ему надо подтвердить свой номер нажав кнопку "Да." После этого у него сменится активный сервис:
esr1000# show subscriber-control services status Service id Session id Service name User name Quota volume Quota time (Bytes) (Seconds) -------------------- -------------------- --------------- --------------- -------------- -------------- 36028797018963986 576460752303423705 A INTERNET 79123456789 -- -- 36028797018963987 576460752303423705 N WELCOME 79123456789 -- --
Удалить все сессии с BRAS можно командой clear subscriber-control sessions. Если требуется удалить определенную сессию: clear subscriber-control sessions session-id <номер сессии>.
2. Отсутствие сетевых настроек у абонента
Абонент, подключаясь к точке доступа, высылает DHCP Discover, который передается через L2 сеть доступа оператора на ESR BRAS. ESR, выполняющий функцию DHCP-relay, перенаправляет запрос на DHCP сервер, который выдает адрес клиенту на основании данных поля giaddr field. В качестве GW указывается адрес ESR. Считаем что DHCP сервер настроен правильно. До прохождения авторизации у абонента должны быть разрешены DHCP и DNS запросы, нужно проверить список доступа в настройках ESR# show runnign-config → subscriber-control → bypass-traffic-acl unauthUSER. Пример списка разрешающего прохождение DHCP и DNS запросов:
ip access-list extended unauthUSER rule 10 action permit match protocol udp match source-address any match destination-address any match source-port 68 match destination-port 67 enable exit rule 11 action permit match protocol udp match source-address any match destination-address any match source-port any match destination-port 53 enable exit exit
3. Не открывается портал
Проверка dns запросов с клиента.
Редирект на портал происходит при http(s) запросе в браузере абонента. Если редиректа при запросе URL по dns имени нет, можно проверить запрос по ip адресу, например http://1.1.1.2, если портал открылся, нужно проверить прохождение dns запросов на клиенте, например выполнив команду
C:\Users\Администратор>nslookup eltex.nsk.ru
server google-public-dns-a.google.com
Address: 8.8.8.8
Не заслуживающий доверия ответ:
name: eltex.nsk.ru
Address:94.250.248.55
Если dns запросы не проходят, нужно проверить сетевые настройки на вышестоящем маршрутизаторе, например наличие маршрута в сторону сети абонентов.
Проверка логов eltex-portal
Лог находится в /var/log/eltex-portal/
В файле /var/log/eltex-portal/access.log можно просмотреть попытки пользователей подключения к порталу:
100.123.0.2 127.0.0.1 - - [16/Aug/2019:05:16:48 +0000] "GET /eltex_portal/?router=bras&clientIp=192.168.133.219&clientMac=20:47:da:00:39:e3&nasIp=100.123.0.176&sessionId=99&vrf=1&loc=data10&L2loc=gi1/0/1.2336&origUrl=http://connect.rom.miui.com/generate_204 HTTP/1.0" 200 28782 "-" "Mozilla/5.0 (Linux; Android 8.1.0; Redmi 5 Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.111 Mobile Safari/537.36" "JSESSIONID=node012voamcl3aepd1oyo47v30v62w70.node0" 36799
В файле /var/log/eltex-portal/auth.log можно посмотреть логи авторизации пользователей (в логе приведён пример успешной авторизации):
2019-08-16T13:41:49,218 Index-page:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:41:58,311 Register-form-submitted:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:41:58,385 Registration:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:41:58,470 Login-page:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:41:58,732 Login-page:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:41:59,660 Login-page-enter-button:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:41:59,668 Authentication:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:41:59,748 Tariffs:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:41:59,834 Apply-tariff:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3 2019-08-16T13:42:00,143 Success-redirect:success device:bras NAS_IP:100.123.0.176 BRAS_L2:SSID1 SSID_name:SSID1 SSID_domain:eltex.root portal:eltex user_name:null user_MAC:20:47:da:00:39:e3
В файле /var/log/eltex-portal/portal.log можно посмотреть логи работы портала, он является основным при трабшутинге.
Если в логе
2019-08-16T11:47:40,873 [qtp2085002312-12] ERROR org.eltex.portal.controller.PageErrorController PageErrorController.errorPage(line:57). Handled exception: code 1101:BRAS_DISABLED . Source:org.eltex.portal.app.pipeline.stages.RouterSessionDetection.preprocess(line:58)
Нужно проверить, активацию настройки "Взаимодействие с BRAS" в Конструкторе порталов.
Если в логе
2019-08-16T11:53:28,147 [qtp2085002312-14] ERROR org.eltex.portal.tools.TariffTools TariffTools.notifyOnEmptyTariffs(line:67). Invalid configuration of portal eltex: Portal has no tariffs linked. Change on the Tariffs page. 2019-08-16T11:53:28,147 [qtp2085002312-14] ERROR org.eltex.portal.controller.PageErrorController PageErrorController.errorPage(line:57). Handled exception: code 1301:NO_AVAILABLE_TARIFFS . Source:org.eltex.portal.tools.TariffT ools.notifyOnEmptyTariffs(line:68)
Если при этом у пользователя портал сразу открывается ошибкой 1301 - то нужно проверить, назначены ли в портале, на который выполняется редирект, тарифы в Конструкторе порталов.
Если в логе
2019-08-16T12:08:42,602 [qtp2085002312-107] ERROR org.eltex.portal.tools.PcrfTools PcrfTools.findL2Subnet(line:136). Failed to find L2 subnet for gi1/0/1.2336 at 100.123.0.176 (1) 2019-08-16T12:08:42,604 [qtp2085002312-107] ERROR org.eltex.portal.controller.PageErrorController PageErrorController.errorPage(line:57). Handled exception: code 2101:L2_SUBNET_NOT_FOUND . Source:org.eltex.portal.app.pipeline.specific.BrasSessionFactory.lookupSubnet(line:122)
Надо проверить, есть ли в Личном кабинете "Настройки PCRF" → L2 наличие соответсвующей подсети L2, правильность её настройки, если есть. Так же нужно проверить в конструкторе порталов правильно ли настроен доступ к PCRF - значение по умолчанию хост: localhost, порт: 7070.
Если в логе
Ключевой является фраза: Caused by: net.jradius.exception.TimeoutException: Timeout: No Response from RADIUS Server
Нужно проверить ключ для Radius и CoA сообщений, они должны совпадать. Проверить нужно в трех местах
- В конфигурации ESR, профиль для Radius и CoA;
- В EMS, меню "Управление точками доступа на Radius сервере", найти нужный ESR, параметр ключ для ip адреса ESR и 127.0.0.1;
- В Конструкторе порталов: Системные настройки->Взаимодействие с BRAS.
Если включить debug на ESR (debug→debug BRAS error), то в консоле ESR можно увидеть соответствующую ошибку:
2019-08-16T17:31:22+07:00 %BRAS-E-ERROR: <bras_receive_message_from_socket> ESR_rc_check_reply failed! (Maybe, is shared secret incorrect?) Dropping packet without response
Проверка логов eltex-pcrf
Логи находится в /var/log/eltex-pcrf/. Просмотрим файл /var/log/eltex-pcrf/eltex-pcrf-shaper.log, сообщение с ошибкой:
2019-08-16T13:55:04,917 [vert.x-eventloop-thread-2] ERROR SubnetsVerticle PcrfJsonTools.replyRxFail(line:570). { "key" : "PcrfErrorCode.subnetNotFound", "message" : "Subnet not found by query '{\"location\":\"gi1/0/1.2336\",\"nas_ip\":\"100.123.0.176\"}'", "code" : 29, "args" : [ { "location" : "gi1/0/1.2336", "nas_ip" : "100.123.0.176" } ] }
сообщение говорит о том что подсеть L2 в Личном кабинете не настроена или настроена с ошибкой. Нужно проверить наличие подсети в "Настройки PCRF" → "Подсети L2" в личном кабинете и убедится в корректности её настройки.
Открывается чужой портал
Нужно проверить наименование портала Настройках PCRF→Подсети L2 в Личном кабинете, выбор портал осуществляется совпадению NAS IP и location интерфейса.
Ошибки при авторизации на портале
Неправильный тарифный план (предназначенный для ТД Eltex)
Если у пользователя портал открывается, но после ввода номера и кода SMS на портале отображается ошибка 1301 - то нужно проверить тариф, который указан в настройках портала - он должен относится к категории BRAS, а не "работа с ТД".
с текстом ошибки: "Код ошибки:1301 (NO_AVAILABLE_TARIFFS)"
В логах портала /var/log/eltex-portal/portal.log при этом будет сообщение:
2019-08-16T14:07:52,586 [qtp2085002312-12] ERROR org.eltex.portal.tools.TariffTools TariffTools.notifyOnEmptyTariffs(line:67). Invalid configuration of portal eltex: Portal has no tariffs linked. Change on the Tariffs page. 2019-08-16T14:07:52,586 [qtp2085002312-12] ERROR org.eltex.portal.controller.PageErrorController PageErrorController.errorPage(line:57). Handled exception: code 1301:NO_AVAILABLE_TARIFFS . Source:org.eltex.portal.tools.TariffTools.notifyOnEmptyTariffs(line:68)
Нужно в Конструкторе порталов настроить настроить правильный тарифный план для данного портала.
Неверный логин и/или пароль
Абонент прошел получил пароль, ввел, но после выбора тарифного плана получает ошибку неверный пароль и/или логин.
Одна из причин возникновения данной ошибки, разные ключи для CoA сообщений, нужно проверить настройку ключей Radius и CoA в трех места:
- В конфигурации ESR, профиль для Radius и CoA;
- В EMS, меню "Управление точками доступа на Radius сервере", параметр ключ для ip адреса ESR и 127.0.0.1;
В Конструкторе порталов: Системные настройки->Взаимодействие с BRAS.
Не работает mac авторизация
После получения первого ip пакета от абонента, BRAS запрашивает у PCRF параметры шейпера для данного абонента и пытается провести mac авторизацию. Для успешной mac авторизации в "Настройках PCRF->Подсети L2" в Личном кабинете должна быть настроена корректная запись. Проверить можно так, узнаем имя L2 интерфейса к которому подключен абонент:
esr1000# show subscriber-control sessions status Session id User name IP address MAC address Interface Domain -------------------- --------------- --------------- ----------------- ------------------ --------------- 576460752303423705 -- 192.168.133.219 20:47:da:00:39:e3 gi1/0/1.2336 --
Проверяем настройку подсети L2 в Личном кабинете, а именно, NAS IP должен совпадать с адресов ESR, location интерфейса должен совпадать с именем интерфейса к которому подключен абонент, Service домен, должен совпадать с сервисным доменом абонента. Сервисный домен задается в L2 подсети которая описывает какой портал будет отображен абоненту.
Повторный редирект на портал после авторизации
После успешной авторизации на портале повторно происходит редирект на портал и авторизацию требуется пройти заново, никаких ошибок при этом в открывающемся окне с порталом не появляется.
Надо проверить в Личном кабинете, в настройках сервиса написание "Класс трафика", который должен назначиться пользователю после авторизации в соответствии с настройками назначаемого ему тарифа - он должен полностью совпадать, в том числе и регистр букв access-list, который используется для классификации трафика этого сервиса на ESR BRAS:
Вывод с ESR show run access-list:
ip access-list extended internet rule 1 action permit enable exit exit
Как видно не совпадает регистр букв.
Если включить debug на ESR (debug→debug BRAS error), то в консоле ESR можно увидеть соответствующую ошибку при попытке пользователя авторизоваться:
2019-08-16T17:31:22+07:00 %BRAS-E-ERROR: <bras_parse_traffic_class_attribute> class map 'INTERNET' not found
Надо исправить наименование "Класс трафика" в личном кабинете, либо access-list на ESR, что бы они совпадали. После этого надо обязательно сбросить сессии пользователей, который успели получить неправильный сервис. Как правило в такой ситуации можно сбросить сессии всех пользователей: clear subscriber-control sessions.
Повторный редирект на портал после выбора тарифа (ошибка: "Неизвестная ошибка Bras")
В этом случае нужно посмотреть логи PCRF
2021-07-29T03:42:59,587 [hz._hzInstance_1_dev.async.thread-2] ERROR AcctVerticle ?.(line:). Failed to find NAS secret for 100.123.0.55:50049
При подобном логе необходимо проверить присутствие адреса (адрес должен совпадать с адресом в логах) и корректность пароля в NAS таблице RADIUS сервера ("RADIUS" → "Управление точками доступа"):
Многократный редирект в строке редиректа на портал
При подключении у пользователя в строке редиректа можно видеть многократный редирект:
Как правило в низу страницы есть выводится ошибка: "net:ERR_TOO_MANY_REDIRECTS".
Такая ошибка возникает, если в сервисе, который назначается клиенту используется белый список фильтрации URL и редирект, и при этом в списке фильтрации допущена ошибка в строке, разрешающей доступ к порталу. В приведённом примере это сервис WELCOME, в котором используется белый список welcome. Нужно открыть в Личном кабинете "Настройки PCRF" → "Списки URL", открыть соответствующий список и проверить правильность написания адреса портала.
4. Приложение
Различия в способе формирования подсетей L2 в Личном кабинете в схемах включения L2 и L3
Существуют две схемы включения BRAS L2 и L3 - в случае использования схемы L2 подсети L2 создаются в Личном кабинете вручную администратором системы. Если используется схема включения L3 - когда трафик абонентов передается через L3 сеть оператора внутри GRE туннелей - то в этом случае подсети L2 создаются автоматически и их отсутствие в Личном кабинете является признаком некорректного добавления ESR BRAS в EMS. В этом случае надо проверить, стоит ли галочка "BRAS сервис" в настройках "Доступ" и правильно ли указан режим работы ESR - "Station".