Настройка GUI, СКАТ и WiFi HotSpot при включенном менеджменте сессий [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_options:use_cases:wifi_hotspot_session_management [2024/08/07 13:20] elena.krasnobryzhdpi:dpi_options:use_cases:wifi_hotspot_session_management [2025/01/15 10:46] (текущий) – [Установка виртуальных машин (ВМ)] elena.krasnobryzh
Строка 1: Строка 1:
-======wifi_hotspot_session_management======+{{indexmenu_n>6}} 
 +======Настройка GUI, СКАТ и WiFi HotSpot при включенном менеджменте сессий====== 
 +=====Топология сети===== 
 +  - Подключить оборудование согласно топологии сети.\\ {{ :dpi:dpi_options:use_cases:img1.jpg?nolink&700 |}} 
 + 
 +=====Последовательность действий при авторизации===== 
 +  - Абонент подключается к сети WiFi 
 +  - Появляется welcome page с информацией, что абонент должен открыть браузер и идентифицировать себя 
 +  - Абонент отрывает браузер, при переходе на любой URL происходит переадресация абонента на страницу идентификации 
 +  - Абонент вводит телефонный номер, запрашивает код доступа 
 +  - Код доступа отправляется на телефонный номер через SMS 
 +  - Абонент вводит полученный код доступа 
 +  - Происходит запись сессионных куки на абонентское устройство с сохранением заданного периода, а также переход на запрошенный пользователем URL 
 + 
 +=====Установка виртуальных машин (ВМ)===== 
 +  - Создать две виртуальные машины со следующими минимальными характеристиками: 
 +    * ВМ ''dpiui_vm'' – [[dpi:dpi_components:dpiui:install_and_update:hardware_recommendations]] 
 +    * ВМ ''cp_wifi_vm'' – [[dpi:dpi_components:module_wi-fi_hotspot#рекомендации_к_оборудованию|Требования к оборудованию]] 
 +  - Установить ОС на обе виртуальные машины. По ходу установки выбрать минимальную установку (minimal install).\\ После установки ОС открыть консоль и установить пакеты на обе ВМ: сначала<code bash>yum install epel-release</code>и после: <code bash>yum install nano tcpdump openssh-server openssh-clients</code> 
 +  - Выключить selinux на обоих ВМ: 
 +    * Отредактировать файл ''/etc/sysconfig/selinux'' 
 +    * Задать значение параметра ''SELINUX=disabled'' и перезагрузить ВМ 
 + 
 +=====Установка и настройка dpiui_vm===== 
 +  - Установить DPIUI на ''dpiui_vm'' по [[dpi:dpi_components:dpiui:install_and_update:install|инструкции]] 
 +  - Настроить сеть на обоих ВМ и СКАТ:<code bash>BOOTPROTO=static 
 +ONBOOT=yes 
 +IPADDR=10.0.0.x 
 +NETMASK=255.255.255.0 
 +GATEWAY=10.0.0.1 
 +DNS1=10.0.0.2</code>''IPADDR'' — указать для каждого хоста согласно схеме (или использовать свою адресацию). 
 +  - Войти в GUI и добавить обе ВМ и СКАТ в разделе «ОБОРУДОВАНИЕ», следуя [[dpi:dpi_components:dpiui:user_guide:admin_section:equipment_management|инструкции]]: 
 + 
 +=====Установка и настройка cp_wifi_vm===== 
 +  - Установить пакет ''wifi_hotspot'' на ВМ ''cp_wifi_vm'' по [[dpi:dpi_components:module_wi-fi_hotspot|инструкции]]: 
 +  - Отредактировать конфиг файл для Hotspot:<code bash>nano /var/www/html/wifi_hotspot/backend/.env</code>Изменить/добавить только эти строчки: 
 +    - **''AAA_HOTSPOT_IP – 10.0.0.4''**\\ Адрес NAS сервера, IPv4/IPv6, если неизвестно — 0.0.0.0 
 +    - **''AAA_HOTSPOT_PORT – 0''**\\ Порт NAS сервера, число, если неизвестно — 0 
 +    - **''AAA_HOTSPOT_ID – 2''**\\ ИД точки подключения к сети передачи данных, целое число в диапазоне от 0 до 1000, необходимо заполнять для абонентов публичных WiFi-точек, соответствует идентификатору точки подключения в поле 1 из выгрузки точек подключения 
 +    - **''AAA_EXPORT_ENABLED=1''**\\ Включить экспорт ААА 
 +    - **''AUTH_CODE_LENGTH=4''**\\ Поменять количество символов в коде для SMS авторизации 
 + 
 +Если прописан параметр ''AUTH_CODE_LENGTH'', то в файле ''/var/www/html/wifi_hotspot/frontend/env.js'' установить значение:<code bash>AppEnv.AuthCodePlaceHolder = "0000";</code> 
 + 
 +В конце выполнить команду:<code bash>php /var/www/html/wifi_hotspot/backend/artisan queue:restart</code> 
 + 
 +=====Установка и настройка dhcp-isc на cp_wifi_vm===== 
 +  - Установить пакет ''dhcp-isc'': <code bash>yum install dhcp expect</code> 
 +  - Настроить скрипты статического ARP и конфигурационный файл ''dhcpd.conf'': 
 +    * Сначала конфигурационный файл ''dhcpd'': <code bash>nano /etc/dhcp/dhcpd.conf</code> Поставить свои значения ''option domain-name'' и ''option ntp-servers''!<code bash>ddns-update-style none; 
 +authoritative; 
 +db-time-format local; 
 +log-facility local7; 
 + 
 +subnet 100.64.0.0 netmask 255.255.252.0 { 
 +  range 100.64.0.3 100.64.3.254; 
 +  default-lease-time 600; 
 +  max-lease-time 600; 
 +  option subnet-mask 255.255.252.0; 
 +  option broadcast-address 100.64.3.255; 
 +  option routers 100.64.0.1; 
 +  option ntp-servers <ntp-server>; 
 +  option domain-name-servers 10.0.0.2; 
 +  option domain-name "name.local"; 
 + 
 +  on commit { 
 +      set ClientIP = binary-to-ascii(10, 8, ".", leased-address); 
 +      set ClientMac = concat ( 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,1,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,2,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,3,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,4,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,5,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,6,1))),2)); 
 +      log(concat("Request: IP: ", ClientIP, " Mac: ", ClientMac)); 
 +      
 + execute("/usr/local/etc/dhcpd/clients_add_drop.sh", "add", ClientIP, ClientMac);
 +  on release { 
 +      set ClientIP = binary-to-ascii(10, 8, ".", leased-address); 
 +      set ClientMac = concat ( 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "",  
 +substring(hardware,1,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,2,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,3,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,4,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,5,1))),2), ":", 
 +      suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,6,1))),2)); 
 + 
 +      log(concat("Release: IP: ", ClientIP, " Mac: ", ClientMac)); 
 +      execute("/usr/local/etc/dhcpd/clients_add_drop.sh", "drop_rls", ClientIP, ClientMac);
 +  on expiry { 
 +      set ClientIP = binary-to-ascii(10, 8, ".", leased-address); 
 +      log(concat("Timeout: IP: ", ClientIP)); 
 +      execute("/usr/local/etc/dhcpd/clients_add_drop.sh", "drop_exp", ClientIP);
 +
 +subnet 10.0.0.0 netmask 255.255.255.0 { 
 +}</code>Создать директории и изменить её права:<code bash>mkdir /usr/local/etc/dhcpd/ && chown dhcpd:dhcpd /usr/local/etc/dhcpd/ 
 + 
 +touch /usr/local/etc/dhcpd/clients_add_drop_mysql.sh && touch /usr/local/etc/dhcpd/clients_add_drop.sh  
 +&& chown dpiacc:dpiacc /usr/local/etc/dhcpd/
 + 
 +chmod 755 /usr/local/etc/dhcpd/ 
 + 
 +chmod 755 /usr/local/etc/dhcpd/*</code>Далее скопировать следующий скрипт в ''/usr/local/etc/dhcpd/clients_add_drop.sh'':<code bash>#!/usr/bin/expect -f 
 + 
 +set METHOD [lindex $argv 0] 
 +set IP_ADDR [lindex $argv 1] 
 +set MAC_ADDR [lindex $argv 2] 
 +set MAC_ADDR [string toupper $MAC_ADDR] 
 +#Клиентский интерфейс на микротике: 
 +set INT_ClIENT "vWifi" 
 +set status 0 
 + 
 + 
 +#Запись dhcp-lease (start and end) в базе Hotspot 
 +spawn /usr/local/etc/dhcpd/./clients_add_drop_mysql.sh "$METHOD" "$IP_ADDR" "$MAC_ADDR" 
 + 
 + 
 +expect "end_mysql"; 
 + 
 + 
 +#Подключение к роутеру 
 +spawn ssh -i /usr/local/etc/dhcpd/.ssh/id_rsa admin+t@100.64.0.1 -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null 
 +expect { 
 +    "password:" {send "\n";
 +    "timeout" {set status 1;} 
 +    ">" {} 
 +
 +if { $METHOD == "add" && $status == 0} { 
 +send "ip arp add address=$IP_ADDR mac-address=$MAC_ADDR interface=$INT_ClIENT\r"; 
 +expect ">"; 
 + 
 + 
 +send "ip firewall address-list remove \[find address=$IP_ADDR list=DROP_CLIENTS\]\r"; 
 +expect ">"; 
 +send "log info \"ADD: $IP_ADDR -- $MAC_ADDR\"\r"; 
 +expect ">" 
 +send "quit\r"; 
 +expect eof 
 +} elseif { $METHOD == "drop_rls" && $status == 0} { 
 +send "ip arp remove \[find mac-address=$MAC_ADDR\]\r"; 
 +expect ">"; 
 +send "ip firewall address-list add address=$IP_ADDR list=DROP_CLIENTS\r"; 
 +expect ">"; 
 +send "log info \"DROP_RLS: $IP_ADDR -- $MAC_ADDR\"\r"; 
 +expect ">" 
 +send "quit\r"; 
 +expect eof 
 +} elseif { $METHOD == "drop_exp" && $status == 0} { 
 +send "ip arp remove \[find address=$IP_ADDR\]\r"; 
 +expect ">"; 
 +send "ip firewall address-list add address=$IP_ADDR list=DROP_CLIENTS\r"; 
 +expect ">"; 
 +send "log info \"DROP_EXP: $IP_ADDR\"\r"; 
 +expect ">" 
 +send "quit\r"; 
 +expect eof 
 +} elseif {$status == 0} { 
 +send "quit\r"; 
 + 
 +expect eof 
 +exit 1; 
 +
 + 
 +set status 0 
 + 
 +#Подключение к СКАТ и прописывание статической записи абонента 
 +spawn ssh -i /usr/local/etc/dhcpd/.ssh/id_rsa dpisu@10.0.0.6 -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null 
 + 
 +expect { 
 +    "password" {send "\r"
 +    "timeout" {set status 1; exit 4} 
 +    "\$" {} 
 +
 +if {$status == 0} { 
 +send "/var/dpiui2/add_captive_portal_auth_ivstar.sh $IP_ADDR\r" 
 +expect "\$" 
 +send "exit\r"; 
 +expect eof 
 +}</code>И скопировать в ''/usr/local/etc/dhcpd/clients_add_drop_mysql.sh'' скрипт для добавления в базу Hotspot данных о ''dhcp-lease'':<code bash>#!/bin/bash 
 +METHOD=$1 
 +IP_ADDR=$2 
 +MAC_ADDR=$3 
 + 
 +MYSQL_CONNECT_LEASEDB="mysql -u root -pvasexperts -Dwifi_hotspot -h 127.0.0.1" 
 + 
 +if [ "$METHOD" = "add" ]; then 
 +    echo "insert into hotspot_aaa(TYPE,MAC,IP) values("1",\""$MAC_ADDR"\",\""$IP_ADDR"\");" | $MYSQL_CONNECT_LEASEDB 
 +elif 
 +   [ "$METHOD" = "drop_rls" ]; then 
 +    echo "insert into hotspot_aaa(TYPE,MAC,IP) values("2",\""$MAC_ADDR"\",\""$IP_ADDR"\");" | $MYSQL_CONNECT_LEASEDB 
 + 
 +elif 
 +   [ "$METHOD" = "drop_exp" ]; then 
 +    echo "insert into hotspot_aaa(TYPE,MAC,IP) values("2",\"""\",\""$IP_ADDR"\");" | $MYSQL_CONNECT_LEASEDB 
 +fi 
 + 
 +echo "end mysql"</code>Включить сервер ''dhcpd'' и добавиить правило в firewall:<code bash>systemctl enable dhcpd 
 +systemctl start dhcpd 
 +firewall-cmd --permanent —add-service=dhcp 
 +firewall-cmd --reload</code> 
 +  - Создать скрипт для переноса файла сессий на FTP:<code bash>mkdir  /srv/aaa/ 
 +mkdir  /srv/aaa/processed/ 
 +mkdir  /srv/aaa/script/ 
 +touch /srv/aaa/script/script.sh</code>Скопировать содержимое в ''/srv/aaa/script/script.sh'':<code bash>#!/bin/bash 
 + 
 +FTP_ADDR="<ip ftp>" 
 +FTP_USER="<user ftp>" 
 +FTP_PASS="<password ftp>" 
 + 
 +#Директория с ААА Hotspot 
 +DIR="/var/www/html/wifi_hotspot/backend/storage/aaa_events" 
 + 
 +ls $DIR | while read f; do 
 +    curl --user $FTP_USER:$FTP_PASS --upload-file $DIR/$f ftp://$FTP_ADDR/ISP/aaa/  > /dev/null 2>&
 +    mv $DIR/$f /srv/aaa/processed</code>и добавить на выполнение в cron:<code bash>crontab -e 
 +*/5 * * * * /srv/aaa/script/script.sh</code> 
 +  - Создать открытый и закрытый ключ:<code bash>mkdir usr/local/etc/dhcpd/.ssh && cd usr/local/etc/dhcpd/.ssh 
 +ssh-keygen -t rsa</code> 
 + 
 +Секретную фразу оставить пустой.\\  
 +**Внимание! Перенести id.pub на СКАТ (10.0.0.6) и Mikrotik (100.64.0.1)!** 
 +  * СКАТ (10.0.0.6): перенести файл по SSH на СКАТ и добавить в ''authorized_keys'' <code bash>cat id.pub >>  ~/.ssh/authorized_keys</code> 
 +  * Mikrotik (100.64.0.1): перенести файл по SSH или через Web-интерфейс и сделать import: <code bash>user ssh-keys import public-key-file=id.pub user=admin</code> 
 + 
 +=====Настройка СКАТ===== 
 +  - Настроить на СКАТе DB для юзеров:<code bash>nano /etc/dpi/fastdpi.conf   
 +udr=1</code> 
 +  - Настроить фильтрацию по федеральному списку:<code bash>black_list_sm=0 
 +federal_black_list=1 
 +#редирект на страничку 
 +black_list_redirect=http://block.lan/</code> 
 +  - Задать класс по умолчанию: <code bash>class_order=0</code> 
 +  - Включить выгрузку IPFIX: 
 +    * Настроить интерфейс ''eth1'': ''nano /etc/sysconfig/network-scripts/ifcfg-eth1'' <code bash>BOOTPROTO=none 
 +ONBOOT=yes 
 +IPADDR=<ip address> 
 +PREFIX=24</code> <code bash>netflow=8 
 +netflow_dev=eth1 
 +netflow_timeout=20 
 +netflow_full_collector_type=2 
 +netflow_full_collector=127.0.0.1:1500 
 +netflow_passive_timeout=10 
 +netflow_active_timeout=20 
 +netflow_rate_limit=30 
 +ipfix_dev=eth1 
 + 
 +ipfix_tcp_collectors=<ip:port ipfix collectors> 
 +ipfix_meta_tcp_collectors=<ip:port ipfix collectors> 
 +ipfix_observation=127 
 +ipfix_dns_tcp_collectors=<ip:port ipfix collectors> 
 +ipfix_nat_udp_collectors=<ip:port ipfix collectors></code> 
 +  - Сделать трафик в class 7 минимальным:<code bash>tbf_class7=rate 1kbit 
 +tbf_inbound_class7=rate 1kbit</code> 
 +  - Включить редирект на Captive portal: ''cp_server=10.0.0.4 (ip cp)'' 
 +  - Выключить NAT для приватных адресов: ''nat_exclude_private=1'' 
 +  - Остальные настройки СКАТ:<code bash>ctrl_port=29000 
 +ctrl_dev=lo 
 +scale_factor=1 
 +num_threads=2 
 +class_order=0 
 +mem_tracking_flow=1500000 
 +mem_tracking_ip=3000000 
 +http_parse_reply=1 
 +rlimit_fsize=32000000000</code> 
 +  - Заменить содержимое скрипта ''/var/dpiui2/add_captive_portal_auth_ivstar.sh'' на следующие:<code bash>#!/bin/sh 
 +fdpi_ctrl load --service 5 --profile.name='hotspot_white_list_profile' --ip $1 
 +fdpi_ctrl load --service 11 --profile.name='NAT_PUBLIC_WIFI' --ip $1 
 +fdpi_ctrl load --policing --profile.name='wifi_hotspot_auth_policing' --ip $1</code> 
 +  - Добавить открытый ключ для доступа с Hotspot на СКАТ в файл ''/home/dpisu/.ssh/authorized_keys'':<code bash>#!/bin/sh 
 +fdpi_ctrl load --service 5 --profile.name='hotspot_white_list_profile' --ip $1 
 +fdpi_ctrl load --service 11 --profile.name='NAT_PUBLIC_WIFI' --ip $1 
 +fdpi_ctrl load --policing --profile.name='wifi_hotspot_auth_policing' --ip $1</code>Сохранить все изменения в файле ''/etc/dpi/fastdpi.conf'' и делаем ''reboot''
 +  - Настроить интерфейс ''eth0'' для доступа к Hotspot и DPIUI<code bash>nano /etc/sysconfig/network-scripts/ifcfg-eth0</code> <code bash>BOOTPROTO=none 
 +ONBOOT=yes 
 +IPADDR=10.0.0.6 
 +PREFIX=24 
 +DNS1=10.0.0.2</code> 
 + 
 +=====Настройка DPI и Hotspot через DPIUI===== 
 +Настройка приоритизации по протоколам. 
 + 
 +1. Перейти во вкладку Управление DPI → ПРИОРИТИЗАЦИЯ ПО ПРОТОКОЛАМ (DSCP) → Редактор 
 +  * cs0 – что пропускаем 
 +  * cs1 – что зажимаем тарифом 
 +  * cs7 – что зажимаем глобально<code bash>Bittorrent cs7 
 +default cs1 
 +dns cs0 
 +http cs0 
 +https cs0</code> 
 +2. CG-NAT в СКАТе:\\ Перейти во вкладку Управление услугами → Услуги → CGNAT\\ Создать профиль:\\ Описание: ''NAT_WIFI''\\Тип: ''CGNAT''\\ Nat IP пул: ''<public ip>''\\ Число tcp сессий: ''1000'' (на абонента)\\ Число udp сессий: ''1000'' (на абонента)  
 + 
 +**Настройка Hotspot:** 
 +  - Перейти во вкладку Управление услугами → Hotspot\\ Web сервер: ''WiFi-Hotspot'' (ВМ ''cp_wifi_vm'' заведенная ранее в DPIUI)\\ Captive portal URL: ''https://10.0.0.4'' (url cp)\\ Время жизни сессии: ''36000''\\ URL для редиректа: ''https://google.ru'' (страница редиректа после успешной авторизации) 
 +  - Включить WiFi и SMS авторизацию\\ SMS авторизацию через сервис sms.ru:\\ Метод: ''Post''\\ Url:  ''https://sms.ru/sms/send'' 
 +  - Тело (From):<code bash>api_id  =  <id из личного кабинета sms.ru> 
 +to  =  [PHONE] 
 +msg  =  Ваш код для WIFI: [CODE]</code>  
 + 
 +**Настройка тарифов Hotspot (в редакторе):** 
 +  - Тариф для авторизации:<code bash>htb_inbound_root=rate 5mbit ceil 5mbit burst 2500kbit cburst 2500kbit 
 +htb_inbound_class0=rate 8bit ceil  5mbit burst 8bit cburst 2500kbit 
 +htb_inbound_class1=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_inbound_class2=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_inbound_class3=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_inbound_class4=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_inbound_class5=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_inbound_class6=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_inbound_class7=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_root=rate 100kbit ceil 100kbit burst 50kbit cburst 50kbit 
 +htb_class0=rate 8bit ceil  100kbit burst 8bit cburst 50kbit 
 +htb_class1=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_class2=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_class3=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_class4=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_class5=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_class6=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_class7=rate 8bit ceil  8bit burst 8bit cburst 8bit</code> 
 +  - Тариф для бесплатного WiFi:<code bash>htb_inbound_root=rate 10mbit ceil 10mbit burst 5mbit cburst 5mbit 
 +htb_inbound_class0=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_inbound_class1=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_inbound_class2=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_inbound_class3=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_inbound_class4=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_inbound_class5=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_inbound_class6=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_inbound_class7=rate 8bit ceil  8bit burst 8bit cburst 8bit 
 +htb_root=rate 10mbit ceil 10mbit burst 5mbit cburst 5mbit 
 +htb_class0=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_class1=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_class2=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_class3=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_class4=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_class5=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_class6=rate 8bit ceil  10mbit burst 8bit cburst 5mbit 
 +htb_class7=rate 8bit ceil  8bit burst 8bit cburst 8bit</code> 
 + 
 +3. Услуги:\\ 
 +Перейти к управлению услугами, включить CGNAT и выбрать профиль NAT_WIFI 
 + 
 +4. Белый список:\\ 
 +Перейти во вкладку Управление услугами → Услуги → Черные и белые списки.\\ 
 +Выбрать нужный профиль и создать список: ''ip 10.0.0.4 (ip cp)''\\ 
 +Если для CP есть запись в DNS, то добавить так: ''cn example.com''\\ 
 +Сохранить настройки через интерфейс. 
 + 
 +=====Настройка Mikrotik 100.64.0.1===== 
 +  - Настроить клиентский интерфейса Mikrotik\\ Обновить до Router OS 6.48.x<code bash>/interface vlan 
 +add arp=reply-only arp-timeout=10m interface=sfp1 name=vWifi vlan-id=40 
 + 
 +/ip settings 
 +set icmp-rate-limit=5 rp-filter=strict 
 + 
 +/ip address 
 +add address=100.64.0.1/22 interface=vWifi network=100.64.0.0 
 + 
 +/ip dhcp-relay 
 +add dhcp-server=10.0.0.4 disabled=no interface=vWifi local-address=100.64.0.1 name=relay1 
 + 
 +/ip dns 
 +set servers=10.0.0.2 
 + 
 +/ip route 
 +add distance=1 dst-address=10.0.0.4/32 gateway=<указать шлюз> pref-src=100.64.0.1 
 + 
 +/system clock 
 +set time-zone-name=Europe/Moscow 
 + 
 +/system ntp client 
 +set enabled=yes primary-ntp=<указать ntp сервер> 
 + 
 +/tool bandwidth-server 
 +set authenticate=no enabled=no</code> 
 +  - Настроить IP связь между DHCP/Hotspot и Mikrotik 
 + 
 +=====Настройка unifi network===== 
 +  - Настроить точки ubiquiti: 
 +    * Установить unifi network на сервер 
 +    * Настроить DHCP для выдачи настроек точкам 
 +    * Если точки и контроллер в разных подсетях, то в DHCP указать option 43 и присвоить ей значение IP контроллера (в формате hex) используя инструкцию: https://help.ui.com/hc/en-us/articles/204909754-UniFi-Device-Adoption-Methods-for-Remote-UniFi-Controllers\\ **Внимание!** Нужно переключиться на старый интерфейс, для этого надо отжать рычажок в System Settings → New USER Interface 
 +  - Настроить Сеть и прочее: 
 +    * Перейти в настройки и далее в Network\\ Создать новою сеть и указать vlan 40 и название WiFi-Client, шлюз указать как 100.64.0.1/22, остальное по желанию 
 +    * Перейти в настройки и далее в Guest Control\\ В Pre-Authorization Access указать IP Hotspot (10.0.0.4) 
 +    * Перейти в настройки и далее в Wireless Networks 
 +      * Создать WiFi сеть 
 +      * Сразу открыть ADVANCED OPTIONS 
 +      * Вписать любое имя/SSID 
 +      * Поставить галочку напротив Enabled 
 +      * Поставить галочку напротив Open 
 +      * Поставить галочку напротив Guest Policy 
 +      * В Network выбрать WiFi-Client 
 +      * Поставить галочку напротив Block LAN to WLAN Multicast and Broadcast Data 
 +      * Поставить галочку напротив Allow BSS Transition with WNM 
 +      * Поставить галочку напротив Block Tunneled Link Direct Setup (TDLS) connections 
 +      * Поставить галочку напротив Isolates stations on layer 2 (ethernet) level 
 +    * Нажать Save 
 +