FreeNibs+FreeRADIUS глюк-с

Опубликовано

Обратил внимание, что при работе данной связки у меня на дома наблюдается интересный глюк. Пользователь работает в интернете, имеет активное соединение, если в этот момент в сеть выходит еще один пользователь, в логах радиуса появляется вот такая вот фигня:

Tue May 13 00:00:33 2008 : Info: rlm_nibs (rlm_nibs_checksimul): User `sasha' zapped by port eqTue May 13 00:00:33 2008 : Error: rlm_radutmp: Logout for NAS 192.168.10.1 port 0, but no Login recordTue May 13 00:00:33 2008 : Error: rlm_nibs (nibs_add_current): Stop packet with zero session length for user `sasha' [192.168.10.1:0]Tue May 13 00:00:33 2008 : Info: rlm_nibs (rlm_nibs_accounting): STOP without START for user `sasha', so added STARTTue May 13 00:00:33 2008 : Auth: rlm_nibs (rlm_nibs_accounting): User `sasha' logout [192.168.10.1:0]

А если второй (третий, пятый, десятый и т.п.) пользователь выйдет и зайдет снова, то получится еще и вот так:

Tue May 13 00:13:03 2008 : Info: rlm_nibs (rlm_nibs_checksimul): User `dasha' zapped by port eqTue May 13 00:13:03 2008 : Error: rlm_radutmp: Logout for NAS 192.168.10.1 port 0, but no Login recordTue May 13 00:13:03 2008 : Error: rlm_nibs (nibs_add_current): Stop packet with zero session length for user `dasha' [192.168.10.1:0]Tue May 13 00:13:03 2008 : Info: rlm_nibs (rlm_nibs_accounting): STOP without START for user `dasha', so added STARTTue May 13 00:13:03 2008 : Error: rlm_nibs (rlm_nibs_accounting): Couldn't finish `accounting_stop_query' for user `dasha' - database error `Duplicate entry'0-ebcaabff7ee4e698' for key 1

В общем после отключения ppp-соединения войти снова пользователь уже не может, что естественно порождает от юзеров ненужные вопросы, а мне создает лишнюю работу.Покопавшись в конфиге FreeNibs'а нашел там два вот таких запроса к MySQL:

simul_count_query = "SELECT id, user, server, port, ip, call_from FROM ${acct_table} WHERE user = '%{SQL-User-Name}' AND terminate_cause = 'Online'"simul_verify_query = "SELECT id, user, server, port, ip, protocol, last_change FROM ${acct_table} WHERE terminate_cause = 'Online' ORDER BY user"

Закомментировал оба, на первый взгляд новых глюков не добавилось, но проблема судя по логу RADIUS-сервера решилась. Посмотрим, что будет дальше, как оно будет себя вести.Ну и напоследок - моя конфигурация, на случай если кто-то с такой же проблемой столкнется:

  • ОС - OpenBSD 4.2
  • FreeRADIUS 1.1.7
  • FreeNibs 2.2.1
  • PoPToP 1.1.4