Не работает принудительное отключение пользователей.
Не работает принудительное отключение пользователей.
В режиме просмотра подключенных пользователей почему-то не могу принудительно остключить пользователя.
Где искать "ошибку"? или как настроить программу?
Где искать "ошибку"? или как настроить программу?
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: Не работает принудительное отключение пользователей.
Что проверить..
Первое. В настройках самой программы Easyhotspot. Файл /var/www/easyhotspot/system/application/config/easyhotspot.php. В нем есть строка с параметром:
Она должна указывать на реальную папку с настройками freeradius (в разных дистрибутивах имя и расположение папки могут отличаться, в программе по умолчанию указано расположение, используемое в Ubuntu 9.04).
Второе, файл dictionary в этой самой папке настроек freeradius должен иметь аттрибут "исполняемый". То есть, для случая Ubuntu 9.04 нужно выполнить команду
Третье - параметры coaport 3799 и coanoipcheck в настройках Chillispot. И еще - если это Chillispot на внешнем устройстве, то соответственно, в "промежуточном оборудовании" д.б. настроены открытие портов и проброс портов для возможности прохождения сигнала принудительного отключения.
Кстати, так как Easyhotspot - веб-приложение, то его ошибки будут попадать в лог "error" веб-сервера. В случае "дефолной" установки на Ubunte 9.04, это файл /var/log/apache2/error.log. Просмотрите, возможно сообщения из него помогут вам идентифицировать проблему.
Первое. В настройках самой программы Easyhotspot. Файл /var/www/easyhotspot/system/application/config/easyhotspot.php. В нем есть строка с параметром:
Код: Выделить всё
$config['radiuscommand'] = 'radclient -q -d /etc/freeradius';
Второе, файл dictionary в этой самой папке настроек freeradius должен иметь аттрибут "исполняемый". То есть, для случая Ubuntu 9.04 нужно выполнить команду
Код: Выделить всё
sudo chmod +x /etc/freeradius/dictionary
Кстати, так как Easyhotspot - веб-приложение, то его ошибки будут попадать в лог "error" веб-сервера. В случае "дефолной" установки на Ubunte 9.04, это файл /var/log/apache2/error.log. Просмотрите, возможно сообщения из него помогут вам идентифицировать проблему.
Re: Не работает принудительное отключение пользователей.
Первые 2 условия соблюдены.
Роутер dlink-300 с прошивкой dd-wrt.
В логах апач ошибок нет.
Не совсем понял про проброс портов.
Роутер dlink-300 с прошивкой dd-wrt.
В логах апач ошибок нет.
Не совсем понял про проброс портов.
Re: Не работает принудительное отключение пользователей.
Вобщем в ручную все выполняется нормально:
echo "User-Name='1111'" | radclient -x 192.168.166.220:3799 disconnect testing123
Sending Disconnect-Request of id 59 to 192.168.166.220 port 3799
User-Name = "1111"
rad_recv: Disconnect-ACK packet from host 192.168.166.220 port 3799, id=59, length=20
А с easyhotspot
log apache:
xx.xx.xx.xx - - [23/Jun/2011:14:39:43 +1000] "GET /easyhotspot/index.php/onlineuser/disconnect/1111.html HTTP/1.1" 302 - "http://xxx.yyy.ru/easyhotspot/index.php/onlineuser.html" "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.19) Gecko/20110506 Firefox/3.5.19"
xx.xx.xx.xx - - [23/Jun/2011:14:39:45 +1000] "GET /easyhotspot/index.php/onlineuser.html HTTP/1.1" 200 5426 "http://xxx.yyyy.ru/easyhotspot/index.ph ... euser.html" "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.19) Gecko/20110506 Firefox/3.5.19"
Он что пытается создать файл 1111.html ? 1111-это "имя" клиента.
echo "User-Name='1111'" | radclient -x 192.168.166.220:3799 disconnect testing123
Sending Disconnect-Request of id 59 to 192.168.166.220 port 3799
User-Name = "1111"
rad_recv: Disconnect-ACK packet from host 192.168.166.220 port 3799, id=59, length=20
А с easyhotspot
log apache:
xx.xx.xx.xx - - [23/Jun/2011:14:39:43 +1000] "GET /easyhotspot/index.php/onlineuser/disconnect/1111.html HTTP/1.1" 302 - "http://xxx.yyy.ru/easyhotspot/index.php/onlineuser.html" "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.19) Gecko/20110506 Firefox/3.5.19"
xx.xx.xx.xx - - [23/Jun/2011:14:39:45 +1000] "GET /easyhotspot/index.php/onlineuser.html HTTP/1.1" 200 5426 "http://xxx.yyyy.ru/easyhotspot/index.ph ... euser.html" "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.19) Gecko/20110506 Firefox/3.5.19"
Он что пытается создать файл 1111.html ? 1111-это "имя" клиента.
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: Не работает принудительное отключение пользователей.
в уже упоминавшемся файле настроек Easyhotspot - /var/www/easyhotspot/system/application/config/easyhotspot.php к функции отключения клиентов относятся три строки:
последняя указывает адрес, в вашем случае там нужно поставить ваш 192.168.166.220
Код: Выделить всё
$config['radiuscommand'] = 'radclient -q -d /etc/freeradius';
$config['rediussecret'] = 'testing123';
$config['radiusserver'] = '127.0.0.1:3799';
нет, он таким образом передает имя вашего пользователя как аргумент.Он что пытается создать файл 1111.html ? 1111-это "имя" клиента.
Re: Не работает принудительное отключение пользователей.
Все стоит как положено. Более того в /easyhotspot/system/application/helpers/freeradius_helper.php формирование команды
перенаправил в файл "err.txt" вот так выглядит команда:
echo "User-Name=1111" | radclient -q 192.168.166.220:3799 disconnect testing123
то есть формируется как бы нормально.
функция php system() как бы тоже работает.
Что еще проверить?
перенаправил в файл "err.txt" вот так выглядит команда:
echo "User-Name=1111" | radclient -q 192.168.166.220:3799 disconnect testing123
то есть формируется как бы нормально.
функция php system() как бы тоже работает.
Что еще проверить?
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: Не работает принудительное отключение пользователей.
на мой взгляд остается лишь одно - пользователь, от имени которого отсылается эта команда.
То есть, команды, которые формирует апач, в системе насколько я понимаю воспринимаются как команды от имени пользователя www:data. Нужно проверить, как эту команду система воспринимает если она запущена от непривелигированного пользователя.
То есть, команды, которые формирует апач, в системе насколько я понимаю воспринимаются как команды от имени пользователя www:data. Нужно проверить, как эту команду система воспринимает если она запущена от непривелигированного пользователя.
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: Не работает принудительное отключение пользователей.
Для работы принудительного отключения нужно, чтобы в роутере с dd-wr контроллер chillispot запускался с дополнительными параметрами, плюс в файерволе был открыт порт 3799/udp. Подробнее об этом я добавил в своей заметкеamv_ykt писал(а):Не совсем понял про проброс портов.
http://wifi-hotspot.zp.ua/wp/2010/06/ch ... k-dir-320/
заголовок "Дополнительные настройки для возможности приема команды принудительного отключения".
Ну а если роутер с dd-wrt установлен после какого-нибудь дополнительного оборудования с NAT (гнапример, ADSL-модем, настроенный роутером), то тогда в этом оборудовании нужно настраивать портфорвардинг порта 3799/udp на роутер с dd-wrt.
- Dmitry
- Администратор
- Сообщения: 1073
- Зарегистрирован: 25 май 2011, 09:14
- Откуда: г. Запорожье, Украина
- Контактная информация:
Re: Не работает принудительное отключение пользователей.
Обновлена программа для корректной работы функции принудительного отключения в случае использования внешних роутеров с Chillispot в них:
http://wifi-hotspot.zp.ua/forum/viewtop ... p=219#p219
http://wifi-hotspot.zp.ua/forum/viewtop ... p=219#p219
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость