Настройка гостевого доступа

Вопросы, касающиеся установки и настройки всех программ сервера хотспота
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Настройка гостевого доступа

Сообщение Dmitry »

Когда в программе активирован режим "Гостевого доступ", на странице авторизации добавляется дополнительный блок, в котором выводится информация о тех лимитах, которые предоставляются клиенту, а также кнопка, которая позволяет клиенту войти в интернет (подписанная как "Demo Login"). Как это выглядит, показано на рисунке:
http://wifi-hotspot.zp.ua/wp/wp-content ... elogin.png

Как в общих чертах работает гостевой доступ. Если гостевой доступ включен, то при подключении клиента к хотспоту для него генерируется ваучер на основании специального тарифного пакета. Логин и пароль этого ваучера "помнит" сама страница авторизации. Когда клиент нажимает кнопку "Demo Login", страница авторизации сама отсылает серверу логин и пароль для гостевого доступа. Сервер принимает их и пускает клиента в интернет. При этом, лимиты доступа (максимальная продолжительность доступа или максимальное число "разрешенных" мегабайт, ограничения входящей/исходящей скоростей, и т.д.) определяется параметрами этого самого специального тарифного пакета.

Что нужно для использования режима гостевого доступа.
1. В первую очередь создать в программе Easyhotspot этот самый "специальный" тарифный пакет. "По умолчанию" он должен называться Free_ Demo_Voucher. Причем, называться именно так, как написано, с заглавными и прописными буквами, и с подчеркиваниями вместо пробелов.

ДОПОЛНИТЕЛЬНО: В том случае, если вам не нравится такое имя "специального" тарифного пакета, вы можете изменить настройку для страницы авторизации, чтобы она использовала иное имя, выбранное вами. Для этого введите команду

Код: Выделить всё

sudo mcedit /usr/lib/cgi-bin/conf.txt
В открывшемся файле найдите строку с параметром

Код: Выделить всё

free_acc = Free_Demo_Voucher
и смените имя тарифного пакета (то, которое после "=" ) на свое собственное. Не используйте в имени тарифного пакета (а) кириллицу, (б) спецсимволы, (в) пробелы. После этого создайте в программе тарифный пакет для гостевого доступа с именем, которое вы вписали в файл настроек.
Сохраните изменения в файле (кнопка F2) и выйдите из редактора (кнопка F10).

2. Далее. Нужно выбрать период сброса гостевого доступа. Что это такое. Так как "гостю" генерируется ваучер, то и обслуживание его происходит аналогично тому, как обслуживается любой пользователь ваучера. А именно - когда клиент израсходует номинал ваучера, хотспот отключает его от интернета. Причем, навсегда! Если такой вариант гостевого доступа вас устраивает (то есть клиент сможет побыть вашим "гостем" всего лишь один раз), то разбираться с этим самым сбросом вам ни к чему. С другой стороны, хотспот может быть настроен таким образом, что он будет самостоятельно периодически сбрасывать информацию о том, что клиент ранее уже пользовался гостевым доступом. После такого сброса клиент сможет снова подключиться к интернету, используя гостевой доступ. Период сброса - это время в минутах, по истечении которого с момента активации клиентом гостевого доступа, информация о этом будет сброшена, и клиент сможет воспользоваться гостевым доступом повторно. Пример: сутки - это 1440 минут. Если вы установите период сброса равным 1440 минут, то клиент сможет ПОВТОРНО воспользоваться гостевым доступом ровно через сутки после того, как воспользовался им в первый раз. Определившись с периодом сброса, пропишите его в настройку файла, выполняющего этот самый сброс. Для этого введите команду

Код: Выделить всё

sudo mcedit /usr/lib/cgi-bin/clear_query.pl
В открывшемся файле найдите строку с параметром

Код: Выделить всё

$reset_period = "60";
и укажите там свое собственное значение параметра (по умолчанию там указано 60 (минут)). Учтите, что цифра должна остаться в кавычках, а строка должна заканчиваться точкой с запятой.
Сохраните изменения в файле (кнопка F2) и выйдите из редактора (кнопка F10).

3. Теперь необходимо включить регулярный запуск скрипта сброса. Запуск скрипта рекомендую выполнять раз в 2...5 минут. Не стоит переживать, скрипт не сбрасывает всех подряд.Он сбрасывает только тех клиентов, у которых время, прошедшее с момента предыдущей активации гостевого доступа, превысило период сброса.
Чтобы настроить запуск скрипта, введите команду

Код: Выделить всё

sudo mcedit /etc/crontab
В редакторе допишите в конец файла новую строку:

Код: Выделить всё

*/5 * * * * root /usr/bin/perl /usr/lib/cgi-bin/clear_query.pl
Запись "*/5" означает "каждые 5 минут. Например, если вы хотите запускать каждые 2 минуты, напишите "*/2". В конце строки обязательно нажмите ввод, чтобы последней в файле была пустая строка.
Сохраните изменения в файле (кнопка F2) и выйдите из редактора (кнопка F10).

4. И напоследок осталось включить использование гостевого доступа в настройках самой страницы авторизации. Для этого введите команду

Код: Выделить всё

sudo mcedit /usr/lib/cgi-bin/loginpage
и добавьте в файл НОВУЮ строку, в которую впишите одно единственное слово "free".
Сохраните изменения в файле (кнопка F2) и выйдите из редактора (кнопка F10).

Если же впоследствии вы захотите отключить гостевой доступ, то просто удалите эту строку из указанного файла.

ВАЖНЫЕ ПРИМЕЧАНИЯ:
  • Все описанное выше действительно ТОЛЬКО ЛИШЬ для модифицированной версии программы Easyhotspot.
  • Поддержка гостевого доступа присутствует в странице авторизации, находящейся в архиве пристегнутом тут. Если вы получали инсталятор позже даты указанного сообщения, то в нем уже включена данная версия страницы авторизации. Косвенный показатель - наличие в вашей системе файла /usr/lib/cgi-bin/loginpasge .
  • Скрипт сброса, если его нет в вашей системе, можно взять из архива, пристегнутого тут.
  • Все, купившие программу ранее, в случае необходимости могут в любое время бесплатно заказать у меня обновленную версию инсталятора.
dro_salevan
Сообщения: 13
Зарегистрирован: 25 май 2011, 13:37
Контактная информация:

Re: Настройка гостевого доступа

Сообщение dro_salevan »

Обсуждали с Дмитрием вопрос неоднократного гостевого доступа с фиксированной паузой в 5 минут.

Соответственно в скрипте clear_query.pl надо сделать 2 изменения:

1.$reset_period = "5";
2. Заменить

Код: Выделить всё

$query02 = "SELECT radacctid,TIME_TO_SEC(TIMEDIFF(NOW(),acctstarttime)) FROM $radacct_table WHERE callingstationid='$mac' AND username='$mac' ORDER BY acctstarttime LIMIT 1";
на

Код: Выделить всё

$query02 = "SELECT radacctid,TIME_TO_SEC(TIMEDIFF(NOW(),acctstoptime)) FROM $radacct_table WHERE callingstationid='$mac' AND username='$mac' ORDER BY acctstarttime DESC LIMIT 1";
т.е. отсчет пойдет от времени когда юзер исчерпал лимит и его "сессия" остановилась.

+ по крону проверку надо выставить раз в минуту */1
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Настройка гостевого доступа

Сообщение Dmitry »

единственное дополнение - в cron */1 обычно не пишут. "*" итак означает "каждый". То есть. чтобы указать "каждую минуту" достаточно просто написать "*".
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Настройка гостевого доступа

Сообщение Dmitry »

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

ВАЖНО!

Скрипт использует модуль, который по умолчанию на сервере не установлен. По этому перед ее использованием ОБЯЗАТЕЛЬНО нужно установить недостающий модуль командой:

Код: Выделить всё

sudo apt-get install libdigest-sha1-perl
  1. Распаковываем скрипт в папку /usr/lib/cgi-bin вместо имеющегося там скрипта (старый неплохо бы сохранить для бакапа).
  2. Владельцем скрипта назначаем пользователя www-data (chown www-data имя_файла)
  3. Скрипт ОБЯЗАТЕЛЬНО делаем исполняемым (chmod +x имя_файла)
Что еще нужно добавить - клиентам, которые до смены скрипта страницы авторизации уже пользовались гостевым доступом возможно придется почистить куки...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Настройка гостевого доступа

Сообщение Dmitry »

Что-то никто не пробует...... :(
admin2
Сообщения: 54
Зарегистрирован: 16 ноя 2011, 05:28
Контактная информация:

Re: Настройка гостевого доступа

Сообщение admin2 »

Опасно пробовать на рабочей системе)
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Настройка гостевого доступа

Сообщение Dmitry »

Ну на своей тренировочной я напробовал - показало, что работает :)
Skydreem
Сообщения: 298
Зарегистрирован: 28 май 2011, 14:51
Контактная информация:

Re: Настройка гостевого доступа

Сообщение Skydreem »

Добрый день)
Вопрос-
1) а защита от подмены мака уже установлен в изихотспот по умолчанию?
2) Можно ли кнопку с бесплатным доступом перенести на свой сайт?
а- Какая это будет ссылка?
б- Нужно ли включать при этом бесплатный доступ на сервере или достаточно создания бесплатных тарифов?
в- И ещё как сделать чтобы они сразу перенаправлялись на нужную страничку в интернете..
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Настройка гостевого доступа

Сообщение Dmitry »

1. - да
2. - нет

в. - в параметр

Код: Выделить всё

# Адрес страницы переадрессации. Если страница указана,
# клиенты будут переходить после авторизации именно
# на нее. Чтобы клиенты переходили на свою запрошенную
# страницу, удалите значение параметра (после "равно")
redir =
в файле /usr/lib/cgi-bin/conf.txt
нужно вписать адрес после знака равно
Skydreem
Сообщения: 298
Зарегистрирован: 28 май 2011, 14:51
Контактная информация:

Re: Настройка гостевого доступа

Сообщение Skydreem »

Мне нужно чтобы именно "бесплатники" переходили на мою статическую страничку, а те что с логином на свою запрашиваемую, вот так можно?)
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей