+2
Отвечен

Автономная работа Accel-IPoE при падении биллинга/радиуса

mnbts 4 года назад обновлен mikbill (CEO) 4 года назад 22

Здравствуйте,настраивали всё по мануалу,при тесте выдает такие ошибки :

[spoiler]
Mon Mar 21 17:00:47 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 54348
Mon Mar 21 17:01:13 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 41468
Mon Mar 21 17:01:16 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 41468
Mon Mar 21 17:01:19 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 41468
Mon Mar 21 17:01:26 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 34646
Mon Mar 21 17:01:29 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 34646
Mon Mar 21 17:01:32 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 34646
Mon Mar 21 17:01:42 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 36583
Mon Mar 21 17:01:45 2016 : Error: Ignoring request to authentication address * port 1812 from unknown client xx.xx.xx.xx port 36583
[/spoiler]

Конфиг, словарь фрирадиуса отредактировали согласно мануалу,скрипт отрабатывает.

Не ошибка

Вам нужно в список NAS в биллинге добавить ваш сервер

после этого перезапустить radiusd

from unknown client xx.xx.xx.xx

означает что либо в clients.conf либо в mikbill не прописан bras

Ребята так что там у вас ? как решилось ?

сегодня всё перепроверю и вечером обязательно отпишусь по результатам

весь день в разъездах был,в понедельник отпишусь

похоже что как раз и не хватает секции для локального клиента в clients.conf . Это же лог с радиус-сервера на НАСе, верно? у мен возникла друга сложность, не копировался файлик с абонами на НАС. Бился-бился, авторизация по ключу между серверами настроил - не помогло, в итоге решил тем что сделал еще 1 скрипт на копирование этого файлика на 5 мину позже скрипта который его создавал.

Проверил. В биллинге в списке nas сервер прописан,в clients.conf тоже, радиус в тот раз перезапускали

а можно что у вас в конфиге accel

[radius] секцию

[radius]

verbose=5
dictionary=/usr/local/share/accel-ppp/radius/dictionary
nas-identifier=accel
nas-ip-address=ип сервера
server=ип сервера,123123,auth-port=1812,acct-port=1813,req-limit=0,fail-timeout=0,max-fail=10,weight=1000
dae-server=ип биллинга:3799,123123
timeout=3
max-try=3
acct-delay-time=0

Отвечен

nas-ip-address=ип сервера

тут вроде указывают Ip акселя


в первом посту было xx.xx.xx.xx

думаю у вас с этим ипутаница

"xx.xx.xx.xx" в логах и "ип сервера" в конфиге - это один и тот же белый адрес акселя
пардон,если запутал

Так все совсем странно.

Вроде Ip прописан, секрет указан

А пакеты игнорируются - по сути "нонсенс", тут четкая логика решения вопроса

1 Либо IP

2 Либо secret

3 Либо не было перезапуска radiusd

4 Пункт 1,2 в Аксель и в Микбил сверить


как я предполагаю тест вы делаете в radiusd -X ( дебаг режиме), значит после внесения изменения был перезапуск...


По итогу или вернуться к пункту 1 и проверять сначала. Другие вещи тут невозможны мы же не цыганский табор с гаданием по руке.


Альтернатива молиться "Великому невидимому розовому единорогу" или свечку поставить в церкви, тоже помогает )



всё перелопатили заново,проребутали,начались подвижки

да,тестируем в дебаг режиме,теперь спотыкается на аутентификации,вот что сообщает :


Ready to process requests.

rad_recv: Access-Request packet from host xx.xx.xx.xx port 33748, id=1, length=109
User-Name = «eth1.52»
NAS-Identifier = „accel“
NAS-IP-Address = xx.xx.xx.xx
NAS-Port = 6
NAS-Port-Id = «eth1.52»
NAS-Port-Type = Ethernet
Calling-Station-Id = «40:16:7e:40:d9:d9»
Called-Station-Id = „eth1.52“
User-Password = «eth1.52»

  1. Executing section authorize from file /etc/freeradius/sites-enabled/default

± entering group authorize {...}
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = «eth1.52», looking up realm NULL
[suffix] No such realm „NULL“
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[files] returns noop
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING! No «known good» password found for the user. Authentication may fail because of this.
++[pap] returns noop
ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user
Failed to authenticate the user.
Using Post-Auth-Type Reject

  1. Executing group from file /etc/freeradius/sites-enabled/default

± entering group REJECT {...}
[attr_filter.access_reject] expand: %{User-Name} → eth1.52
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 0
Sending Access-Reject of id 1 to xx.xx.xx.xx port 33748
Waking up in 4.9 seconds.



[attr_filter.access_reject] expand: %{User-Name} → eth1.52

чтото в формате файла похоже.

приложите вырезку файла users

вырезка для тестирумого клиента :


40:16:7e:40:d9:d9 Cleartext-Password := "40:16:7e:40:d9:d9"
Service-Type = Framed-User, Framed-IP-Address = xx.xx.xx.xx, DHCP-Mask = 29, DHCP-Router-IP-Address = xx.xx.xx.xx, Filter-Id = 100000/100000

у вас имя

приходит

eth1.52

а ищете по

40:16:7e:40:d9:d9

сменил маки для тестируемого клиента в файле users на eth1.52,всё завелось.
как бы теперь только скрипт тоже самое делал для каждого клиента)

посмотрите /etc/freeradius/users на НАС сервер, та где фрирадиус. Похоже у вас тоже users с биллинга не копируется.

если там дефолтный конфиг, попоробуйте вписать туда:

40:16:7e:40:d9:d9 Cleartext-Password := "40:16:7e:40:d9:d9"
Service-Type = Framed-User, Framed-IP-Address = 172.30.0.11, DHCP-Mask = 24, DHCP-Router-IP-Address = 172.30.0.1, Filter-Id = 104448/104448

и фрирадиус перезапустите, этот гад только на старте users читает


скрипт отрабатывал и копировался как положено

у меня работает, с теми правками, что я описал.

у меня скрипт ругается:

PHP Notice: Undefined index: ssh_path in /var/www/mikbill/admin/res/cache/accel-ppp-radius.php on line 221


221 строка это:

        $ssh=$sysoptions['ssh_path'];

Думаю тут дело в том что в базе таблица "sysopts" пустая. Похоже значения системных опций раньше хранились там, а потом перехали в таблицу "system_options".
Замена в скрипте "sysopts" на "system_options" результатов не дала((((
пока себе исправил на

       $ssh="/usr/bin/ssh";

так же хочу обратить внимание скрипт копрует по сцп файлик users на НАС в директорию /etc/freeradius/ в которой права на запись только у рута и то что просят сделать в статье Авторизация между серверами:

/usr/local/etc/sudoers

строку

bill ALL=(ALL) NOPASSWD: ALL

никак не поможет, все равно нужно зайти по ссш, sudo su, а там уже копировать шо угодно
Как вариант дать права 777 только на файл /etc/freeradius/users или переделать скрипт что бы он сначала копировал по сцп в папку /home/bill/ потом коннектился по ssh, sudo su, и копировал в /etc/freeradius/
но мне пороше дать права 777 ))

еще есть просьба к разрабам пересмотреть либо скрипт и архив, либо статью, т.к. там "Скачайте свежий дистрибутив mikbill, в папке DISTR/caсhe-system архив accel_cache_freeradius.tar.gz. Перенесите этот архив на сервер с биллингом. Разархивируйте архив. В папке billing файлы которые нужно перенести на сервер с биллингом, согласно внутренней иерархии."
не актуально, т.к. в архиве путь /var/www/admin... а билинг уже давно в /var/www/mikbill/admin...
понятно что это мелочи, но и поправить путь в архиве тоже секунда дела, а новички вам мозги клепать не будут

да , там старые сис опции, котоыре уже ен используются , нужно исправить на новые.

Сервис поддержки клиентов работает на платформе UserEcho