- При использовании RADIUS
- В логе нет запросов вообще или с определённого NAS-сервера
- Error: Ignoring request to authentication address 169.254.18.12 port 1812 from unknown client 10.15.20.30 port 59282
- Auth: Login incorrect: [Administrator/<via Auth-Type = mschap>] (from client Test-NAS port 15732262 cli 10.7.3.4)
- Сессия устанавливается, но сбрасывается биллингом: Idle-Timeout
- Дублирование запросов на авторизацию Error: Discarding duplicate request from client
При использовании RADIUS
В первую очередь, необходимо обратиться к логу RADIUS. Следить за ошибками в реальном времени, а так же вывести 50 последних строк:
tail -n 50 -f /app/asr_billing/var/log/radius/radius.log
В логе нет запросов вообще или с определённого NAS-сервера
Проверьте снифером идет ли с NAS трафик на порт авторизации (по-умолчанию 1812) и IP-адресу шлюза:
tcpdump -nnei any port 1812 and host 192.168.200.11
Тут возможны варианты.
Запросы идут не на тот порт
Если фильтр снифера по IP и порту не дал результата, попробуйте посмотреть только по IP
tcpdump -nnei any host 192.168.200.11
Если есть трафик, проверьте что на NAS-сервере в настройках RADIUS-клиента указан правильный порт RADIUS-сервера.
Запросы идут еще и на порт аккаунтинга, так что если на 1812 нет, а на 1813 есть - проблема точно в этом |
Запросы идут не с того IP
Если нет запросов по IP NAS-сервера, запустите снифер по порту авторизации.
tcpdump -nnei any port 1812
- Возможно у Вас несколько NAS-серверов, тогда постарайтесь найти в выводе незнакомый Вам IP-адрес
- Возможно на NAS-сервере настроено несколько IP-адресов и он просто шлёт запросы не с адреса указанного в биллинге
Если это Ваш случай, укажите в настройках NAS на биллинге тот IP сервера, с которого идут запросы в поле
Запросы действительно не идут
Возможно что-то случилось с NAS-сервером, проверьте настройки RADIUS-клиента:
- IP RADIUS-сервера
- Порты авторизации и аккаунтинга
- IP NAS-сервера с которого отправляются запросы
- Проверьте что есть доступ: запустите пинг до IP RADIUS-сервера
Firewall на биллинге не пропускает запросы
Если в выводе снифера есть трафик с правильного IP и на правильный порт, убедитесь что они проходят Firewall:
- Проверьте что правило вообще есть:
Команда, где 1812 - порт авторизации, а 169.254.80.81 - IP NAS
iptables-save | grep nas_clients | grep 1812 | grep 169.254.80.81
Вывод, видно что правило есть-A nas_clients -s 169.254.80.81/32 -p udp -m udp --dport 1812 -j ACCEPT
- Проверьте что до него доходят пакеты
Команда, где 1812 - порт авторизации, а 169.254.80.81 - IP NAS
iptables -nvL | grep 1812 | grep 169.254.80.81
Вывод, по первым двум столбцам видно что пакеты до него доходят15 1500 ACCEPT udp -- * * 169.254.80.81 0.0.0.0/0 udp dpt:1812
Error: Ignoring request to authentication address 169.254.18.12 port 1812 from unknown client 10.15.20.30 port 59282
Возможные причины:
- Запрос приходит от не интегрированного NAS
- Если NAS интегрирован:
- убедитесь что он есть в clients.conf
# cat /app/asr_billing/etc/raddb/clients.conf client 169.254.18.12 { shortname = Carbon_XGE_local secret = algosolarsystem } client 10.15.20.30 { shortname = Test-NAS secret = secret }
- Перезапустите RADIUS
# chroot /app/asr_billing/ /etc/init.d/radiusd restart Останавливается radiusd: [ СБОЙ ] Останавливается radiusd_acc: [ OK ] Запускается radiusd: [ СБОЙ ] Запускается radiusd_acc: [ OK ]
При этом так же перезапускается радиус аккаунтинга. В примере радиус не был запущен, потому в вывод при остановке сервиса - СБОЙ.
- Если ситуация не исправилась перезапуском RADIUS, попробуйте пересоздать конфиги
mv /app/asr_billing/etc/raddb /app/asr_billing/etc/raddb.backup /app/asr_billing/service restart
- убедитесь что он есть в clients.conf
Auth: Login incorrect: [Administrator/<via Auth-Type = mschap>] (from client Test-NAS port 15732262 cli 10.7.3.4)
Возможные причины:
- Пользователь вводит неверный логин или пароль
- Убедитесь, что в учетной записи выставлен корректный тип авторизации
- Если предыдущие варианты не помогли, включите radius debug в настройках биллинга, снова попытайтесь автозизоваться, получив лог ошибки обратитесь в техподдержку
Сессия устанавливается, но сбрасывается биллингом: Idle-Timeout
Для диагностики проблемы необходимо обратиться к логу RADIUS и к аудиту подключений. Аудит подключений Вы можете посмотреть в карточке абонента, на вкладке "Аудит"
Если в аудите подключений присутствуют записи вида:
13.10.2018 10:37:34 RAD6_ACCT_START ACCT_START DONE. (FRAMED_IP_ADDRESS=172.16.202.21, START_TIME=2018-10-13 10:37:34, ACCT_SESSION_ID=36556407625070894786034131920739579, NAS_IP_ADDRESS=192.168.97.6, CALLING_STATION_ID=e4:8f:8f:2f:2f:ff, SQL_USER_NAME=172.16.202.21) 13.10.2018 10:38:08 RAD6_ACCT_STOP ACCT_STOP DONE. (ACCT_TERMINATE_CAUSE=Idle-Timeout, FRAMED_IP_ADDRESS=172.16.202.21, STOP_TIME=2018-10-13 10:38:07, ACCT_SESSION_ID=36556407625070894786034131920739579, NAS_IP_ADDRESS=192.168.97.6) Истекло время допустимого бездействия (Idle timer).
То сессия обрывается по таймауту.
Это может быть связано с тем, что в настройках NAS добавлен атрибут Idle-Timeout, который имеет слишком маленькое значение.
В этом случае необходимо проверить radius атрибуты в настройках NAS
В этом случае, необходимо увеличить значение атрибута Idle-Timeout
Дублирование запросов на авторизацию Error: Discarding duplicate request from client
Данная ошибка фиксируется в логе /app/asr_billing/var/log/radius/radius.log и выглядит следующим образом
Mon Sep 28 10:00:36 2020 : Error: Request 5994 has been waiting in the processing queue for 5 seconds. Check that all databases are running properly!
Mon Sep 28 10:00:37 2020 : Error: Discarding duplicate request from client ib-bras-00 port 1645 - ID: 14 due to unfinished request 6008
Mon Sep 28 10:00:37 2020 : Error: Discarding duplicate request from client ib-bras-00 port 1645 - ID: 15 due to unfinished request 6009
Mon Sep 28 14:40:26 2020 : Error: rlm_sql_firebird. Fetch problem:'lock conflict on no wait transaction. deadlock. update conflicts with concurrent update. concurrent transaction number is 226490005. At procedure 'RAD6_CHECK' line: 1, col: 523'
Mon Sep 28 14:40:26 2020 : Error: CARBON rlm_sql_getvpdata: fetch_res=-1
Причиной возникновения ошибки является запрос от NAS на авторизацию абонента, ранее переданный в биллинг, но до текущего момента он не был обработан и ответ в NAS не поступал. Это обычно связано с тем, что биллинг не смог обработать запрос за нужное время, так как база данных была занята.
Для ее решения, необходимо:
1. Проверить нагрузку на сервере по документации.
2. Убедитесь, что если используете биллинг на виртуальной машине, то в момент возникновения ошибки не выполняются никакие "внешние" действия с ВМ (пример:бэкапирование)