Авторизация wifi по смс

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 WAN=ppp+ # Интерфейс, который смотрит в интернет, на нем поднято PPPoE до провайдера

export LAN=eth0 # Локальная сеть

$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

$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

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

Задать разрешения для 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, используя ключ)

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_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);

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

$string='/ip firewall mangle add chain=prerouting src-mac-address="'.$mac.’" in-interface=BRIDGE protocol=tcp action=jump jump-target=registry place-before=0';

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

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

//сначала я отправлял смс через сервис 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';

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

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

В целом ничего, но вот

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

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

очень меня смущает.

Автор: Иван Чередов на 02 Фев 2017

Если смущает, можно сделать точно как в заметке. Хотя я не знаю, что может смущать с правами чтение-запись. Да и mac-адрес без arp все равно не получить.

Добрый день! А какой сервис используете для отправки СМС?

Автор: Иван Чередов на 20 Фев 2017

Авторизация wifi по смс

ОБЩЕСТВЕННЫЙ WIFI

УСЛУГИ БИЛЛИНГА

Сервис аутентификации и идентификации

Уведомление Роскомнадзора

Уведомление об изменении тарифов СМС пакетов

О сервисе:

Для подключения к сервису , зарегистрируйтесь и настройте ваши устройства. Для управления вашими Хотспот и сетями связи, создан аппаратно — программный комплекс, позволяющий из облака управлять вашим оборудованием. Не важно в какой точке на карте вы находитесь!

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

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

Идентификация и аутентификация, управление доступом в общественный WiFi согласно:

Подключите и настройте устройства для выполнения законодотельства РФ.

Биллинг интегрирован с сервисами мобильной коммерции.

Вы можете организовать платный доступ в интернет.

Оплата пластиковой картой, платные СМС, оплата с баланса мобильного телефона.

Интернет по документу:

  • В гостиницах;
  • В учебных заведениях;
  • Больницах и санаториях.

Встроенный паспортный и регистрационный учет.

Сервис хранит историю пользования Интернет согласно законодательства РФ сроком не менее 3 лет.

Сервис автоматически формирует необходимую вам отчетность.

Настройте страницу входа согласно вашему корпоративному стилю, добавьте рекламу.

Настройте переадресацию после входа и ваш клиент получит нужную информацию от вас.

Законодательство

Сервис «САИ+WiFi» позволит вам обеспечить выполнение законодательства согласно Постановлениям Правительства:

С минимальными затратами вы можете вести реестр отчетов всех пользователей ваших сетей в электронном виде.

Настройка авторизации WiFi-пользователей по SMS

Публичный доступ в WiFi сеть теперь как известно регламентирован – в июле 2014 года вышло постановление правительства № 758, суть которого сводится к тому, что анонимным пользователям заходить в открытую WiFi сеть теперь нельзя. Всех пользователей нужно авторизовывать, да еще полгода хранить данные о них самих, времени и объеме оказания услуг. Для владельцев кафе, ресторанов, магазинов, отелей, клиник, турагентств и прочего бизнеса из сферы обслуживания, что хотят завлечь клиентов бесплатным вай-фаем – это неподъемная задача. Выбор тут простой: либо идти на поклон крупным операторам связи, отдавая им прибыль за предоставление телематических услуг, либо выдергивать кабель из порта RJ45 точки доступа своего любимого заведения. Но есть третий способ, которым хочу поделиться.

Способ хорош тем, что:

А) закон не нарушаем и авторизуем пользователей по строго закону, то есть по СМС, со всеми необходимыми данными идентификации личности.

Б) деньги операторам не платим, беспроводный бизнес им на откуп не отдаем.

Единственный минус – нужно приобрести контроллер Edimax PRO APC500 и потратить время на его настройку. В опытных руках настройка занимает три минуты и даже меньше – ровно столько длится ролик:

Собственно, этой настройке и посвящена короткая статья.

Теперь по порядку:

1. Включаем контроллер Edimax APC500 в сеть. Наличие точек или готовых развернутых сетей Wi-Fi не обязательно. Captive portal можно включать и выключать в любой момент. Или переключаться между пресетами.

2. Если в сети присутствует DHCP сервер – нужно найти какой IP получил контроллер. Если DHCP сервера нет – IP по умолчанию 192.168.2.1 и видим страницу настроек NMS (здесь и далее скриншоты с приведенного выше видео):

3. Выбираем: NMS Settings>System Accounts

В контроллере АРС500 сервис отправки СМС уже встроен и работает на базе двух предустановленных операторов связи. Они используют заведомо лучшее ПО и аппаратную часть, нежели оборудование, которое может использовать отдельная частная компания, например, GSM-шлюз. (Понятно, что кафе или кофейня даже и думать не могут о таком шлюзе, да он им и не нужен). Сервис же оператора, крайне дешев и, насколько я знаю, может осуществлять рассылки до миллиона СМС и не требует наличия повышенного внимания и для поддержки.

В России, такой сервис предоставляет провайдер Stream Telecom (Стрим Телеком). Допускаю, что много кто еще, но прямо в контроллере Эдимакса он уже прошит заранее как родной. Поэтому для начала необходимо выполнить подготовительную работу – зарегистрироваться на сайте оператора и завести свой аккаунт. Вы получите логин и пароль, которые нужно будет ввести в меню контроллера.

На этом настройки авторизации по СМС завершена.

4. Теперь нужно установить, кто из Wi-Fi пользователей будет авторизовываться посредством СМС. Для этого необходимо создать две группы пользователей: Frontdesk и Guest group. Далее мы должны установить, что пользователи будут динамические и по необходимости выбрать веб-сайт для переадресации.

Для настроек администратора, уведомления СМС не требуется, но нужно включить метод проверки подлинности – SMS. Выберите код страны +7 и выберите метку Use Cell Phone numbers as Username.

5. Последняя операция настройка Captive portal, где можно настроить сообщение, которое получит пользователь (приветствие, название заведение, рекламные объявления и проч.)

6. Так же можно настроить саму страницу Captive Portal, куда вывести свои лого, шаблоны графики, полностью или частично изменить лицензионное соглашение. Как видно, ничего заумного в настройке нет, ее может освоить любой человек, хоть немного знакомый с администрированием.

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

Редакция CNews не несет ответственности за его содержание.

Edimax Technology занимается проектированием, разработкой и производством интеллектуальных сетевых продуктов и решений. Основанная в 1986 году компания Edimax постоянно испытывает рост и становится одним из ведущих мировых поставщиков высокотехнологичной продукции сетей связи. Производитель со штаб-квартирой на Тайване (Республика Китай) котировался на Тайваньской фондовой бирже уже с 2001 года, а в 2003 году был сертифицирован согласно ISO 9001 и ISO 14000. Ассортимент продукции Edimax соответствует запросам любых сетей, требованиям архитектур IP -видеонаблюдения и связанных с ними приложений.

Информация об ограничениях ©Reuters, ©AP

Wi-Fi в кафе, авторизация по смс своими руками и почти бесплатно
Wi-Fi в кафе, авторизация по смс своими руками и почти бесплатно Wi-Fi в кафе, авторизация по смс своими руками и почти бесплатно Задача сделать авторизацию по смс посетителей, использующих
http://ivan.cheredov.com/wi-fi-%D0%B2-%D0%BA%D0%B0%D1%84%D0%B5-%D0%B8-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%BF%D0%BE-%D1%81%D0%BC%D1%81/
Авторизация wifi по смс
Главная Сервис аутентификации в публичных сетях, WIFI, сервисах в сети Интернет
http://saiwifi.ru/
Настройка авторизации WiFi-пользователей по SMS
Публичный доступ в WiFi сеть теперь как известно регламентирован – в июле 2014 года вышло постановление правительства № 758, суть которого сводится к тому, что анонимным пользователям заходить в открытую…
http://club.cnews.ru/blogs/entry/nastrojka_avtorizatsii_wifipolzovatelej_po_sms

COMMENTS