Как настроить авторизацию wifi по смс

SMS авторизация через Wi-Fi: как организовать и настроить

Всем привет! В письмах меня постоянно спрашивают – а можно ли самому настроить WiFi авторизация по СМС. На сегодняшний момент, если кто не знает, по законодательству Российской Федерации все общественные гостевые сети без пароля должны иметь такую авторизацию. Чтобы новый пользователь заходя в сеть, авторизовывался. Сейчас такая система действует почти везде и в том же метро или электричках.

В статье я хочу показать, что не обязательно устанавливать сложные системы и на просто роутере можно сделать вот такую авторизацию. Я буду использовать обычный роутер Zyxel Keenetic, так как на новой прошивке он наиболее удобен в этом. При этом не обязательно использовать сложные маршрутизаторы типа Mikrotik с настройкой OpenWRT.

Шаг 1: Загрузка дополнительного модуля

Как заходить в настройки я рассказывать не буду. Там просто при подключении к сети нужно ввести DNS или IP адрес роутера, который указан на этикетке. Далее в меню выбираем «Общие настройки» и нажимаем «Изменить набор компонентов».

Далее нам нужно установить новую компоненту Captive Portal, которая как раз и будет отвечать за SMS авторизацию. После установки проверьте, чтобы в списке компонент были установлен новый модуль.

Переходим в раздел «Гостевая сеть». Далее проматываем до раздела нашего нового модуля и включаем его. Теперь, нужно выбрать профиль — это тот самый сервис, которыми мы будем пользоваться для отправки СМС.

Я выбрал именно «GetWiFi» – на самом деле вы можете выбрать любой, они примерно все одинаковые. Мне повезло ещё и в том, что данный сервис дает возможным попробовать услугу в первый месяц бесплатно.

Шаг 2: Регистрация и создание «хотспота»

И так для регистрации переходим на сайт – getwi.fi . Далее пролистываем немного ниже и выбираем кнопку «Попробовать» в левом нужном блоке.

Нужно пройти обычную регистрацию и ввести необходимые данные. Для подтверждения нужно будет перейти по ссылке, которую вам отправят на почту.

Теперь нам надо добавить одно из мест, куда будет перенаправляться пользователь. В соответствующем разделе в левом меню выбираем кнопочку с плюсиком для добавления.

Заполняем поля, как вы хотите. Далее в разделе «Места» создастся новое подключение, куда надо будет добавить хотспот. Перейдите туда и опять нажмите на кнопку с плюсиком.

Теперь выбираем левый блок.

Вводим данные хотспота. Последняя строка — это адрес, на который будет перебрасываться пользователь после авторизации – можно ввести любой.

Во второй вкладке хотспота, можно добавить картинку, которая будет отображаться при авторизации. Туда можно добавить логотип компании или что-то ещё. Для добавления файла нажимаем «Выберите файл» и далее с компьютера загружаем картинку.

Шаг 3: Настройка роутера

Теперь в том же окне настройки хотспота, нужно перейти на третью вкладку. Нас интересует только две выделенные строчки – как на картинке выше. Их мы и будем использовать для настройки маршрутизатора.

Теперь возвращаемся к нашему маршрутизатору. Там, где мы включили и указали сервис СМС авторизации, нужно ввести данные для авторизации на сервисе, которые мы скопировали в предыдущем шаге. В конце на забудьте нажать «Сохранить».

Все, теперь настройка полностью завершена. Достаточно подключиться с телефона к гостевой вай-фай сети и вы увидите приветственный экран, что для использования сети нужно будет авторизоваться. Далее просто вводим номер телефона и на него придет проверочный код в SMS сообщении. Как видите Wi-Fi авторизация по СМС настраивается достаточно просто. Вы, кстати, можете выбрать и другой сервис – они примерно все одинаковые, так что разницы нет. Я выбрал первый попавшийся.

Mikrotik

Источник

Wi-Fi в кафе, авторизация по смс своими руками и почти бесплатно

Wi-Fi в кафе, авторизация по смс своими руками и почти бесплатно

Задача сделать авторизацию по смс посетителей, использующих наш бесплатный Wi-Fi. Это требование закона. Кстати технология называется captive portal.

Уже существует множество решений этой задачи. Из бесплатных привлекательно выглядит Captive Portal service with SMS auth for pfsense. pfSense основан на ядре FreeBSD, но не требует каких-либо знаний и умений, специфичных для данной ОС. Практически весь функционал доступен через веб-интерфейс.

Я же делал свой captive portal на основе заметки Ника Поповича (Pipefish) «Captive Audience». Она была написана ровно пять лет назад, но пока я ничего проще не нашел.

Собрал старенький комп с двумя сетевыми картами. На него поставил Linux Debian 8. Он будет выполнять роль маршрутизатора.

На компе поднял DHCP, DNS, MySQL, Apache.

Основой captive portal будет цепочка правил netfilter/iptables, в которой все пакеты маркируются, перенаправляются на страницу авторизации, где mac посетителя добавляется в исключения.

export IPT=»iptables»
export WAN=ppp+ # Интерфейс, который смотрит в интернет, на нем поднято PPPoE до провайдера
export LAN=eth0 # Локальная сеть
export LAN_IP_RANGE=192.168.37.0/24

$IPT -N internet -t mangle
$IPT -t mangle -A PREROUTING -i $LAN -j internet
#/var/lib/users — файл с исключениями из цепочки пакетов от авторизованных mac’ов:
#iptables -t mangle -I internet 1 -m mac —mac-source $mac -j RETURN
/var/lib/users
$IPT -t mangle -A internet -j MARK —set-mark 99
$IPT -t nat -A PREROUTING -i $LAN -p tcp -m mark —mark 99 -m tcp —dport 80 -j DNAT —to-destination $INT_IP
$IPT -t filter -A INPUT -p tcp —dport 80 -j ACCEPT
$IPT -t filter -A INPUT -p udp —dport 53 -j ACCEPT
$IPT -t filter -A INPUT -m mark —mark 99 -j DROP
$IPT -A INPUT -p all -m state —state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p all -m state —state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE -j MASQUERADE

Ему нужно задать права

sudo chmod 700 /etc/firewall.sh

А чтобы он сам запускался при загрузке, нужно вписать в /etc/ rc.local

/etc/firewall.sh

Запретить консоль пользователю www-data:

usermod -s /bin/ false www-data

Сделать apache владельцем файла /var/lib/users и дать права на чтение/запись. В этом файле хранятся все mac’и авторизованных посетителей.

chown www-data /var/lib/users
chmod 600 /var/lib/users

Задать разрешения для apache добавлением в /etc/sudoers строк

www-data ALL=(ALL:ALL) NOPASSWD:/var/lib/users

То же самое для файла /var/lib/user1. В него пишется текущий mac (хотя безопасней не писать его в файл, а сразу поручить апачу выполнять «sudo iptables -I internet 1 -t mangle -m mac —mac-source $mac -j RETURN«). Тем самым маркированный пакет покинет цепочку «interenet».

Туда же добавить строку (чтобы апач смог определить mac посетителя):

www-data ALL=(ALL:ALL) NOPASSWD:/usr/sbin/arp

Теперь страница авторизации. Коротко на ней происходит следующее:

У посетителя, чьего mac’а нет в базе, спрашиваем номер телефона, посылаем смс с кодом, и после того, как он его введет, добавляем mac в базу и в файлы /var/lib/user и /var/lib/user1. Последний исполняем, а посетителя отправляем на запрашиваемый изначально url.

Как вариант, можно обойтись без файла исключений /var/lib/user, а при каждом новом подключении проверять mac на наличие в базе. Плюс писать какое-нибудь приветствие. С файлом исключений посетитель, чей mac там есть, сразу попадет в интернет. Количество правил в iptables будет чуть больше количество авторизованных mac-ов. Максимальное их количество ограничено 65536 и зависит от оперативки. Но на производительность оно вряд-ли влияет

В итоге на точках доступа открытая Wi-Fi сеть. При запросе любой страницы в браузере посетитель получает страницу авторизации. После ввода кода, его mac-адрес добавляется в исключения цепочки «internet», записывается в базу и файл исключений, с тем чтобы при следующем подключении ходить в интернет без авторизации. В базе хранится список номеров телефонов и mac’ов устройств посетителей.

Шейпинг трафика реализован посредством htb.

Комп кроме маршрутизатора еще выполняет роль принт-сервера. Также по расписанию перегружает точки доступа.

Год спустя в кафе открыли второй зал, и посетители стали грузить CPU почти на 100%. Тогда же мне в руки попал Mikrotik. На нем вариантов организовать авторизацию несколько, но я решил пойти по протоптанному пути. Благо в Mikrotik стоит RouterOS и используются те же iptables. Конечно, такой вариант бесплатным уже не назовешь, но зато Mikrotik со своими девятью ядрами, по 1.2 ГГц на ядро держит гораздо большую нагрузку.

Итак, дописал страницу авторизации следующим образом (заменил соответствующие функции):

//функция выполнения команд на микротике (подключаемся по ssh, используя ключ)

function ssh_exec($ip, $command) <
$connection = ssh2_connect($ip, 22);
if (ssh2_auth_pubkey_file($connection, ‘www-data’, ‘/var/www/.ssh/id_rsa.pub’, ‘/var/www/.ssh/id_rsa’)) <
$stream = ssh2_exec($connection, $command);
stream_set_blocking($stream, true);
$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);
return stream_get_contents($stream_out);
fclose($stream);
> else <
die(‘Public Key Authentication Failed’);
>>

//узнаем мак из таблицы ARP

$string=’:global mac; :foreach a in=[/ip arp find where address=’.$ip.’ dynamic=yes ] do=<:set mac [/ip arp get $a mac-address ]; :put $mac;>’;
$mac = ssh_exec($router, $string);
preg_match(‘/. /’,$mac , $matches);
@$mac = $matches[0];

//отправляем смс с 3G-модема, воткнутого в микротик

$string=’/tool sms send usb3 channel=3 +7′.$tel.’ message=»Ваш код WiFi: ‘.$code.’»‘;
ssh_exec($router, $string);

//или с модема, воткнутого в комп, например, с помощью gnokii (меньше заморочек с кириллицей)

$sms = «Ваш код WiFi: «.$code;
$sms = str_replace(‘ ‘, ‘\ ‘, $sms);
$sms = system(«sudo -u www-data /var/www/html/sms-send.sh +7″.$tel.» «.$sms);

LANG=»ru_RU.UTF-8″
tel=$1
sms=$2
echo «$sms» | /usr/bin/sudo /usr/bin/gnokii —config /etc/sms.conf —sendsms «$tel»

//сначала я отправлял смс через сервис smsc.ru

Но, с увеличением количества клиентов, это стало не выгодно. Тем более, что в кафе работает онлайн-заказ обедов (respublica-omsk.ru/online/), и гости любят ставить галочку «прислать смс с заказом». Плюс уведомления при онлайн-покупке билетов на мероприятия.

//далее добавляем в микротик правило перепрыгивать маркировку пакетов для данного mac’а

$string=’/ip firewall mangle add chain=prerouting src-mac-address=»‘.$mac.’» in-interface=BRIDGE protocol=tcp action=jump jump-target=registry place-before=0’;
ssh_exec($router, $string);

Настройку файерволла микротика пока не буду описывать. Она аналогична настройке в debian. Если не согласны — пишите в комменты. Буду рад ответить.

Источник

Авторизация Wi-Fi по СМС — Как Сделать Идентификацию по SMS на Роутере Zyxel Keenetic?

Сегодня уже ни для кого не секрет, что в соответствии с действующим российским законодательством предоставлять доступ к бесплатному WiFi в общественных местах разрешено только с помощью авторизации по СМС. Именно поэтому в метро, в поезде РЖД, наземном транспорте или любом кафе нас каждый раз просят вводить свой номер телефона и подтверждать подключение к интернету по вай-фай через SMS. Мне стало интересно, как организовать у себя что-то подобное. И я нашел решение этой задачи, поэтому сегодня покажу, как организовать авторизацию вай-фай через SMS своими руками.

СМС авторизация WiFi — Mikrotik или Zyxel Keenetic без OpenWRT?

Прежде всего хочу обратить внимание, что для создания СМС авторизации к вашему WiFi подключению не обязательно покупать дорогое и во многом непонятное для новичков сетевое оборудование Mikrotik. Как оказалось, все гораздо проще! На новых роутерах Keenetic (бывший Zyxel) данный компонент имеется в прошивке. И не надо устанавливать на какой кастомной оболочки, типа OpenWRT. Лично я своими руками абсолютно бесплатно создал гостевой WiFi с регистрацией по SMS на Keenetic Viva, но эта возможность присутствует на всех моделях семейства — Start, 4G, Giga, Ultra, Omni, Air и так далее…

Модуль WiFi по СМС на маршрутизаторе Zyxel Keenetic — Captive Portal

Для начала работы нам необходимо установить на роутер модуль, который называется Captive Portal. В базовый пакет он не входит, поэтому нужно его загрузить отдельно. Это делается из панели управления самого устройства и занимает считанные минуты. Более подробно о том, как установить новые компоненты на Keenetic читайте отдельную инструкцию.

После его загрузки открываем меню «Гостевая сеть» и проматываем в самый низ страницы до настроек блока «Captive Portal». Здесь нам нужно для начала поставить галочку на «Включить». После чего выбрать онлайн сервис, через который будет происходить авторизация по СМС.

Выбор огромный и от такого количества могут разбежаться глаза. Но мне не пришлось долго перебирать все варианты, поскольку довольно-таки быстро нашелся сервис GetWiFi. Ценник у них на момент написания статьи вполне демократичный, но мне было важно не это. Главное, что они предоставляют возможность попробовать свой сервис абсолютно бесплатно в течение месяца!

Регистрация в сервисе по идентификации в сети вай-фай по СМС

Поэтому мы выбираем тарифный план «Идентификация по СМС» и жмем на кнопку «Зарегистрироваться». Форма очень простая — указываем свой телефон и почту. А также придумываем имя пользователя и пароль для входа в систему.

После чего подтверждаем регистрацию по ссылке, отправленной на почтовый ящик.

Настройка СМС авторизации в сети WiFi

После авторизации на сайте попадаем на главную страницу своего аккаунта. Не обманули — ровно месяц можно пользоваться бесплатно.

Здесь нам нужно сначала зайти в меню «Места» и нажать на «Добавить место».

Тут мы указываем адресные данные своего заведения, где будет бесплатный вай-фай с идентификацией через SMS.

На следующем шаге выбираем в меню наше «место» и жмем на кнопку «Добавить хотспот». То есть для каждого кафе или офиса мы можем создать сразу несколько отдельных точек доступа с авторизацией при помощи SMS.

В блоке «SMS» жмем на «Добавить» (если интересно, про подключение через «Ваучеры» я тоже напишу отдельно).

Далее нам нужно придумать:

  • Название своего хотспота
  • «Секрет». Это может быть любой идентификатор — буквы, цифры
  • HTML адрес, на который будет происходить переадресация после подключения клиента к вашему WiFi

Сохраняемся и в основном меню выбираем наш новый хотспот, чтобы его отредактировать во вкладке «Дизайн». Здесь можно выбрать один из предложенных фонов для окна ввода номера телефона или загрузить свое изображение. А также добавить фирменный логотип.

Настройка ротуера Zyxel Keenetic для авторизации по СМС

Наконец, пришло время настроить сам роутер для того, чтобы при подключении к его гостевой сети WiFi происходила идентификация через SMS. Для этого открываем последнюю вкладку в своем хотспоте на сайте GetWiFi — «Настройки».

Тут нужно развернуть инструкцию по настройке «Настройка роутера с прошивкой DD-WRT». «Настройка роутера MikroTik» нас не интересует. Среди всех открывшихся данных ищем два параметра:

Теперь возвращаемся в панель управления роутера Zyxel Keenetic и выбираем в качестве профиля «GetWiFi». И указываем в соответствующих полях те значения, которые сгенерировал сервис SMS авторизации. И нажимаем на «Сохранить»

Вот и все. После этого включаем на маршрутизаторе ретрансляцию гостевого доступа и подключаемся к нему со своего смартфона. Если сеть защищена, то нужно будет также ввести от нее пароль.

Остается только указать свой телефон и ввести код из SMS для подтверждения авторизации в сети WiFi.

После чего нас перебросит на страницу, которую мы указали на GetWiFi в качестве перенаправления после идентификации.

Источник

Читайте также:  Почему не работает сочетание клавиш alt tab
Оцените статью