Hotspot для бизнеса своими руками / Хабр

Интеграция

Все бары уже имели подключение к Интернет. Везде по-разному, где-то стоял 4G USB модем в другом роутере, где-то использовался мобильный WiFi роутер со встроенным аккумулятором. Изменять существующую инфраструктуру было запрещено из-за боязни, что что-нибудь перестанет безвозвратно работать, а все переделывать и безосновательно финансово удорожать проект – не хотелось.

/interface wireless security-profiles set [ find default=yes ] supplicant-identity=MikroTik

add authentication-types=wpa2-psk disable-pmkid=yes eap-methods="" group-ciphers=tkip mode=dynamic-keys name=OPERATOR supplicant-identity="" unicast-ciphers=tkip wpa2-pre-shared-key=1111111111111

/interface wireless set [ find default-name=wlan1 ] band=2ghz-onlyn country=russia disabled=no frequency=auto name=wlan1-station security-profile=OPERATOR ssid=OPERATOR-9392 station-roaming=enabled

Добавили скрипт в dhcp-client и скорректировали работу своего NAT (можно было бы настроить masquerade, однако вспомнили презентацию технического специалиста компании MikroTik «My holy war against masquerade», а также, что masquerade частный случай SRC-NAT и отказались от этой идеи):

/ip firewall nat
add action=src-nat chain=srcnat comment=OPERATOR-NAT out-interface=wlan1-station src-address=192.168.2.0/24 to-addresses=10.0.0.100

add action=src-nat chain=srcnat comment=HOME-NAT out-interface=wlan1-station src-address=192.168.1.0/24 to-addresses=10.0.0.100

/ip dhcp-client
add disabled=no interface=wlan1-station use-peer-dns=no use-peer-ntp=no

#Script for src-NAT
:local OUTINTERFACE wlan1-station;
:local COMMENT OPERATOR-NAT;
:local COMMENT2 Home-NAT;
:local IPFORNAT [/ip dhcp-client get [find interface=$OUTINTERFACE] address];
#delete mask in ip
:local IPFORNATSHORT [:pick $IPFORNAT 0 [:find $IPFORNAT "/"]];
/ip firewall nat set [find comment=$COMMENT] to-addresses=$IPFORNATSHORT;
/ip firewall nat set [find comment=$COMMENT2] to-addresses=$IPFORNATSHORT;

Интернет до MikroTik-ов получили, далее настроили качественно и безопасно наши роутеры в  качестве точки доступа. Опишем только интересное. Сделали два профиля безопасности для WiFi (free и staff), включили сразу 3 WiFi сети: две для staff (для обоих диапазонов 2.

4 и 5 ГГц, так как не все оборудование в барах умеет работать в 5 ГГц) и одну free (только на 5 ГГц). На 2.4 ГГц free решили не делать, так как приоритет отдан предоставлению Интернет пользователям с современными мобильниками, и кроме того наши роутеры умеют делать до 4 точек доступа одновременно.

Похожее:  Регистрация на сайте через ВКонтакте - SeoLik Блог

Рекомендовали барам все оборудование переподключить на staff, так как позже была задана приоритезация трафика в маршрутизаторах, а это значит, что никто из гостей нам не провалит “служебный” Интернет. В настройках WiFi оставили много параметров по-умолчанию, чтобы поддерживать максимальный парк подключаемых устройств.

/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

add authentication-types=wpa-psk,wpa2-psk eap-methods="" management-protection=allowed name=coffeecup_free supplicant-identity=""

add authentication-types=wpa2-psk disable-pmkid=yes eap-methods="" management-protection=allowed mode=dynamic-keys name=coffeecup_staff supplicant-identity="" wpa2-pre-shared-key=2222222222222

/interface wireless
set [ find default-name=wlan1 ] antenna-gain=0 band=2ghz-g/n channel-width=20/40mhz-XX country=russia disabled=no frequency=auto frequency-mode=manual-txpower installation=indoor mode=ap-bridge name=wlan1-COFFEECUP_2_staff security-profile=coffeecup_staff ssid=CoffeeCup_Staff2 station-roaming=enabled wireless-protocol=802.11 wps-mode=disabled

set [ find default-name=wlan2 ] antenna-gain=0 band=5ghz-n/ac channel-width=20/40/80mhz-XXXX country=russia disabled=no frequency=auto frequency-mode=manual-txpower installation=indoor mode=ap-bridge name=wlan2-COFFEECUP_5_staff security-profile=coffeecup_staff ssid=CoffeeCup_Staff station-roaming=enabled wps-mode=disabled

add default-forwarding=no disabled=no keepalive-frames=disabled mac-address=02:00:00:AA:00:00 master-interface=wlan2-COFFEECUP_5_staff multicast-buffering=disabled name=wlan3-COFFEECUP_5 security-profile=coffeecup_free ssid=CoffeeCup_FreeWiFi wds-cost-range=0 wds-default-cost=0 wps-mode=disabled

Настроили firewall, обязательно сделали отдельное правило для icmp (чтобы не было скрытых проблем с раздачей Интернет от вышестоящих маршрутизаторов) и заложили будущий VPN. Пример для 4G свистка:

/ip firewall filter
add action=accept chain=input comment="Accept established,related" connection-state=established,related
add action=drop chain=input comment="Drop invalid" connection-state=invalid
add action=accept chain=input comment="Accept input icmp" protocol=icmp
add action=accept chain=input comment="Accept input ovpn" in-interface=ovpn-coffeecup
add action=accept chain=input comment="Accept input DNS for bridge_guest" dst-port=53 in-interface=bridge_guest protocol=udp
add action=drop chain=input comment="Drop all input from !bridge" in-interface=!bridge
add action=accept chain=forward comment="Accept established,related" connection-state=established,related
add action=drop chain=forward comment="Drop invalid" connection-state=invalid
add action=drop chain=forward comment="Drop all from WAN to !DSTNAT" connection-nat-state=!dstnat connection-state=new in-interface=LTE1_WAN

Qos выполнили через маркировку трафика, скоростные лимиты выбрали из реальных измерений (мы использовали сервис от Яндекс «Интернетометр»):

/ip firewall mangle
add action=mark-connection chain=prerouting comment="Managment connections" dst-address=192.168.15.21 dst-port=22,8291 new-connection-mark="Managment connections" passthrough=yes protocol=tcp

add action=mark-connection chain=forward comment="VIP connection" connection-mark=no-mark new-connection-mark="VIP connection" passthrough=yes src-address-list=VIP

add action=mark-packet chain=forward comment="VIP packets" connection-mark="VIP connection" new-packet-mark="VIP packets" passthrough=yes

add action=mark-connection chain=forward comment="LAN=>WAN connections" connection-mark=no-mark in-interface=bridge new-connection-mark="LAN=>WAN connections" out-interface=LTE1_WAN passthrough=yes

add action=mark-packet chain=forward comment="LAN=>WAN packets" connection-mark="LAN=>WAN connections" new-packet-mark="LAN=>WAN packets" passthrough=yes

add action=mark-connection chain=forward comment="Guest=>WAN connections" connection-mark=no-mark in-interface=bridge_guest new-connection-mark="Guest=>WAN connections" out-interface=LTE1_WAN passthrough=yes

add action=mark-packet chain=forward comment="Guest=>WAN packets" connection-mark="Guest=>WAN connections" new-packet-mark="Guest=>WAN packets" passthrough=yes

add action=mark-packet chain=output comment="Managment packets" connection-mark="Managment connections" new-packet-mark="Managment packets" passthrough=yes

add action=mark-connection chain=postrouting comment="OVPN connections" dst-address=IP_OUR_SERVER dst-port=1190 new-connection-mark="OVPN connections" out-interface=LTE1_WAN passthrough=yes protocol=tcp

add action=mark-packet chain=postrouting comment="OVPN packets" connection-mark="OVPN connections" new-packet-mark="OVPN packets" passthrough=yes

/queue tree
add comment="Guest (bridge-guest)" max-limit=10M name=Guest parent=bridge_guest
add comment="LAN (bridge)" max-limit=10M name=LAN parent=bridge
add comment="WAN (pppoe)" max-limit=10M name=WAN parent=LTE1_WAN
add name=Guest_other packet-mark=no-mark parent=Guest
add name="LAN_LAN=>WAN" packet-mark="LAN=>WAN packets" parent=LAN
add limit-at=128k max-limit=512k name=LAN_managment packet-mark="Managment packets" parent=LAN priority=1
add name=LAN_other packet-mark=no-mark parent=LAN
add name=LAN_ovpn packet-mark="OVPN packets" parent=LAN
add name=LAN_vip packet-mark="VIP packets" parent=LAN priority=7
add name="WAN_Guest=>WAN" packet-mark="Guest=>WAN packets" parent=WAN
add name="WAN_LAN=>WAN" packet-mark="LAN=>WAN packets" parent=WAN priority=7
add name=WAN_ovpn packet-mark="OVPN packets" parent=WAN priority=7
add name=WAN_vip packet-mark="VIP packets" parent=WAN priority=6
add name="Guest=>WAN" packet-mark="Guest=>WAN packets" parent=Guest queue=pcq-download-default

Задействовали семейные DNS сервера от Яндекса: все-таки рабочий Интернет, да и место общественное.

/ip dns set allow-remote-requests=yes servers=77.88.8.7,77.88.8.3

На практике было установлено, что некоторые провайдеры блокируют использование не своих DNS-серверов. Чтобы решить это, можно получать адреса DNS серверов от вышестоящего маршрутизатора при работе DHCP-клиента (активация use-peer-ntp) или вложить свои DNS запросы в VPN туннель, а на арендуемом сервере настроить NAT и включить ip forward:

Настройка системы sms авторизации igofree на mikrotik

Данная статья содержит материалы со встречи пользователей MikroTik в Минске 3 июня 2022 года. Это выступление Кардаша Александра Владимировича на MUM Belarus 2022 о настройке системы SMS авторизации через сервис iGoFree на оборудовании MikroTik. Содержит типовую схему внедрения сервиса компании ООО “Уолкерс Системс” в сетевую инфраструктуру мест, где необходимо организовать публичный доступ к интернету через Wi-Fi сеть. Слайды с презентации Евгения Осипова можно скачать по этой ссылке.

Для тех кто не хочет тратить своё дорогое время на изучение данного мануала предлагаем нашу платную помощь.

Настройка начинается с подключения маршрутизатора к интернету. В самом простом случае следует вставить Ethernet кабель от провайдера в первый порт MikroTik и роутер получает IP через DHCP client. Кроме того по умолчанию на первом порту сделан scr-nat masqurade. Если необходима постоянная достоступность интернета, можно настроить резервирование через 3G модем. С модемами Huawei поддерживающими Hi-Link нужно создать DHCP client на интерфейсе lte2 указав в поле Default Route Distance (метрика или цена маршрута) значение большее чем на основном канале. Далее следует сделать в IP/Firewall/NAT правило scr-nat action Masquarade на интерфейс lte2 созданный 3G модемом.

Hotspot для бизнеса своими руками / Хабр

Настроим OpenVPN client на MikroTik. Для этого откроем окно с интерфейсами и плюсиком добавим новый интерфейс:

Hotspot для бизнеса своими руками / Хабр

Введём IP адрес сервера OpenVPN  и логин пароль для доступа к нему. Хэшкод MD5 и алгоритм шифрования AES c ключём 128 бит:

Hotspot для бизнеса своими руками / Хабр

Настроим точку доступа wlan1 вещающую Wi-Fi сеть персонала заведения в котором устанавливается система авторизации. Выбираем узкие каналы в 20 mHz которые позволяют достич максимальной дальности Wi-Fi сигнала. Связано это с тем, что энергия точки доступа распределяется на более узкую полосу, позволяя иметь в два раза большую силу сигнала на удалённых участках сети. Иначе сказать полезный сигнал Wi-Fi будет сильнее выделятся на уровне шумов. Кроме того на узких каналах можно разместить больше точек доступа разнеся их даже на 1, 5, 9, 13 канал максимально заполнив радиочастотный спектр полезным сигналом. Выбрав Wireless Protocol802.11 можно обеспечить максимальную совместимость с Wi-Fi устройствами клиентов заведения, ведь обычные устройства не поддерживают проприетарных полинговых проколов MikrоTik.

Hotspot для бизнеса своими руками / Хабр

Создадим виртуальную точку доступа Wi-Fi в которой будет использоваться SMS авторизация:

Hotspot для бизнеса своими руками / Хабр

Индификатор сети SSID Walkers.Free профиль сети default, который не содержит пароля. Чтобы предотвратить ARP спуфинг клиентов друг другом (атака человек по середине позволяющая перехватывать трафик пользователя не использующего шифрования) снимаем галочку Default Forward и тем самым запрещаем передавать данные между клиентами подключенными к свободной Wi-Fi сети.

Hotspot для бизнеса своими руками / Хабр

Мы хотим сделать одну сеть с индификатором Walkers.Free на четырёх точках доступа Wi-Fi позволяющую использовать SMS авторизацию. Проще всего это сделать с помощью технологии VLAN на основе меток. Кадры основной сети не будут иметь меток, а кадры дополнительной будут помечаться id 1, 2, 3. Создаём vlan1 с id 1 на интерфейсе bridge-local:

Hotspot для бизнеса своими руками / Хабр

По анологии создаём vlan2 с id 2 и vlan3 c id 3:

Hotspot для бизнеса своими руками / Хабр

Создадим bridge1 на котором будет работать хотспот:

Hotspot для бизнеса своими руками / Хабр

 Добавим в bridge1vlan1, vlan2, vlan3 и виртуальную точку доступа Wi-Fi wlan2:

Hotspot для бизнеса своими руками / Хабр

Зафильтруем на вкладке Filters трафик между vlan1vlan2vlan3 и wlan2, чтобы клиенты подключённые к разным точкам доступа не могли передавать данные между собой:

Hotspot для бизнеса своими руками / Хабр

 Пропишем IP адрес на интерфейсе на котором мы будем делать HotSpot. В нашем случае это bridge1 хотя можно прописать и на wlan2:  

Hotspot для бизнеса своими руками / Хабр

 Настроим с помощью мастера DHCP сервер:

Hotspot для бизнеса своими руками / Хабр

 Согласимся с предложеной сетью 10.130.92.0/24:

Hotspot для бизнеса своими руками / Хабр

Согласимся с предложенным мастером шлюзом:

Hotspot для бизнеса своими руками / Хабр

Ввиду того, что в свободной сети Walkers.Free не будет размещаться сетевое оборудование можно использовать весь пул свободных IP адресов кроме 10.130.92.1:

Hotspot для бизнеса своими руками / Хабр

Время аренды IP адреса по умолчанию 10 минут, нажмём Next ничего не меняя:

Hotspot для бизнеса своими руками / Хабр

Если всё правильно сделано мы увидим сообщение, что DHCP успешно настроен:

Hotspot для бизнеса своими руками / Хабр

В сети персонала рекомендую выставить DHCP “authoritative” в Yes (DHCP авторитетный – Да), что заставит DHCP отвечать на запросы клиентов максимально быстро и отключить неавторитетные DHCP сервера в сети. Также выставить галочку “Add ARP for leases” для того чтобы в ARP таблицу автоматически добавлялись сопоставления IP с MAC.

Hotspot для бизнеса своими руками / Хабр

Настроим HotSpot. Если его нет в меню IP, значит необходимо зайти в System/Packages, включить его и программно перезагрузить маршрутизатор. Если он уже включён, открываем окно создания HotSpot и плюсиком создаём новый сервер: Выбираем интерфейс на котором будет работать HotSpot –  bridge1; пул раздачи IP адресов ранее созданый с помощью мастера настройки DHCP и профиль default, который сейчас будем править:

Hotspot для бизнеса своими руками / Хабр

Поправим Server Profile default: Ставим галочку Login HTTP PAP. Данные для авторизации пользователя можно передавать открытым текстом по сети ввиду того, что ARP спуфинг не возможен.

Hotspot для бизнеса своими руками / Хабр

На  вкладке RADIUS поставим галочку Use RADIUS, что означает что список пользователей (MAC адресов) будет храниться на радиус сервере ООО “Уолкерс Системс”:

Hotspot для бизнеса своими руками / Хабр

Добавим список хостов и IP адресов к которым разрешён доступ без авторизации на HotSpot, чтобы пользователи могли увидеть страничку авторизации:

Hotspot для бизнеса своими руками / Хабр

Дополнительно можно поправить User Profiles изменив период показа рекламы Session Timeout. Также можно дополнительно ограничить скорость пользователю, если в результате сбоя отказал основной канал связи с интернетом. Выставлено 128k исходящая скорость, 512k загрузка: 

Hotspot для бизнеса своими руками / Хабр

Что касается папки hotspot на самом роутере, то оно не годится нам и его следует заменить на то что мы предоставим: скачать 

Hotspot для бизнеса своими руками / Хабр

Номера телефонов и MAC адреса пользователей хранятся на FreeRadius сервере. Настроим подключение роутера к серверу. Укажем IP адрес его, сервис для которого он используется и пароль:

Hotspot для бизнеса своими руками / Хабр

Сведения о трафике пользователей собираются на внешнем сервере (коллекторе) работающим с протоколом netflow. В данном примере показана работа по протоколу 9-ой версии. Включим сенсор netflow на роутере поставив галочку в поле Enable. Выберем интерфейс с которого нужно собирать статистику, для того чтобы в анализаторе не было дублированных данных выбираем только интерфейс на котором есть наши пользователи. Нажав кнопочку Terget добавляем IP адреса серверов (коллекторы netflow).  Собирать данные можно на нескольких серверах. Данные которые можно увидеть в анализаторе будут содержать IP адрес, протокол и порт по которому происходит передача данных от пользователя и к нему. Также собираются сведения о количестве трафика и времени использования интернета.

Hotspot для бизнеса своими руками / Хабр

 Следует сделать также scr-nat с Action masquarade на интерфейс ведущий к серверам: FreeRADIUS, NetFlow коллектору: 

Hotspot для бизнеса своими руками / Хабр

Можно также обратить внимание на правила с буквой D (от dynamic), автоматически добавленые HotSpot: 

Hotspot для бизнеса своими руками / Хабр

Настроим правила фильтрации трафика. Если на маршрутизаторе реальный (статический) IP адрес в интернете рекомендуем проверить наличие в цепочке input на внешнем интерфейсе разрешающих правил с connection state:established и related. Если необходимо, можно разрешить ICMP, WEBBOX, WINBOX, SSH, Telnet. Остальной трафик к внешему интерфейсу лучше закрыть действием drop,  что позволит уменьшить атаки на такие сервисы роутера как DNS и др..  Также следует в цепочке forward запретить доступ из сети с SMS авторизацией в сеть персонала и сетевого оборудования 10.130.92.0/24 –>> 192.168.0.0/16 действие Drop.

Hotspot для бизнеса своими руками / Хабр

Настроим hEX PoE lite поддерживающий пассивный PoE и позволяющий строить недорогие сети в местах где невозможно запитать Wi-Fi точки доступа, кроме как по ethernet кабелю. На схеме он выделен красным:

Hotspot для бизнеса своими руками / Хабр

Используем его как свитч и поэтому добавим ether1-gateway и группу портов 2-5 в local-bridge. Вторым действием можно добавить vlan1, vlan2, vlan3 с метками 1, 2, 3 прикрепив их к этому бриджу. Дополнительно, если необходимо, можно удалить IP адресс 192.168.88.1/24 c  маршрутизатора, выключить DHCP сервер, и навесить DHCP-client на local-bridge:

Hotspot для бизнеса своими руками / Хабр

Далее настроим одну из конечных Wi-Fi точек доступа mAP lite:

Hotspot для бизнеса своими руками / Хабр

Настроим сеть персонала кафе на mAP lite выбрав предварительно созданый profile1 где содержатся параметры шифрования и пароль доступа к сети:

Hotspot для бизнеса своими руками / Хабр

Создадим виртуальную точку доступа vlan2 с SSID Walkers. Используем профиль default который не содержит пароля. Запрещаем forward клиентов данными между друг другом:

Hotspot для бизнеса своими руками / Хабр

Вешаем vlan1 с id 1 на bridge-local:

Hotspot для бизнеса своими руками / Хабр

Создаём новый bridge1 без настроек:

Hotspot для бизнеса своими руками / Хабр

Добавляем виртуальный локальный интерфейс vlan1 и виртуальный беспроводной интерфейс wlan2 (SSID Walkers.Free) в bridge1:

Hotspot для бизнеса своими руками / Хабр

Дополнительно по аналогии с hEX PoE lite можно удалить IP адрес 192.168.88.1/24, DHCP сервер, правила фильтрации.

Настройка закончена! Конфигурацию хотспота с SMS авторизацией для mAP-2n можно скачать по этой ссылке. Логин: admin пароля нет.

Нормативно-правовые акты

Обо всем по порядку. Нам нужны постановления правительства России и от 31 июля 2022 г. №758 «О внесении изменений в некоторые акты …» и от 12 августа 2022 г.  №801 «О внесении изменений в некоторые акты …». Одно дополняет второе, как видно, между ними успело пройти целых 2 недели. В соответствии с ними (немного перефразировано для большей ясности):

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

Это единственно приемлемое решение в настоящее время, все остальные предлагаемые законом решения нам явно не подходят (паспорта, госуслуги и т.д.). Цитируем снова:

сведения о пользователях …, а также об объеме и времени оказания им услуг связи хранятся … не менее 6 месяцев.

Управление

Начнем с сервера. На нем работает база данных MySQL,  в которую накапливается информация о регистрациях пользователей в Hotspot, передаваемая скриптами роутеров. Принимается и сохраняется в базу данных информация посредством backend страницы на PHP, она же генерирует пароли для пользователей. Создали админку для заказчика и прокинули VPN до роутеров (надо же их администрировать кому-то). Теперь подробнее.

Заключение

Наконец наша статья подошла к концу. Опираясь на имеющиеся в Интернете наработки,  мы самостоятельно запустили сервисы Hotspot для баров компании «Coffee Сup», функционирующих в рамках действующего российского законодательства, используя силу оборудования MikroTik, мощь PHP и универсальность MySQL. Не боимся экспериментировать и разбираться с разными технологиями. Всех с наступающим 2021 годом!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *