Создание Wi-Fi при помощи Caps-Man и Hot Spot задача не новая, благо MikroTik позволяет делать всё это достаточно гибко и быстро. Всегда всё ограничивалось стандартным Hot Spot с гостями или без, но в этот раз, задача стояла несколько иначе, соответственно и подхода требовала иного.
Русскоязычный онлайн-курс по MikroTik от нашего коллеги Дмитрия Скромнова. Здесь можно изучить MikroTik и RouterOS самостоятельно по курсу «Настройка оборудования MikroTik». Курс основан на официальной программе MTCNA, но содержит больше информации. Это 162 видеоурока и большая практическая задача, разбитая на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.
Задача
Нужно было организовать Hot Spot для «своих» и доступ по паролю для гостей, при этом в разных логических сетях. Маршрутизация между гостями и «местными» аборигенами должна отсутствовать как класс, все доступы со всех сторон должны быть наглухо закрыты. Использовать нужно было как 5 ГГц, так 2,4 ГГц, при чём для своих должны работать оба диапазона. Настраивать 5 ГГц для гостевого доступа я не стал.
Решение
В качестве точек были взяты wAP ac, а контроллером выступал развёрнутый в одном из наших кластеров CHR.
Info:
В качестве «железного» контроллера классно использовать CRS125-24G-1S-RM. На таком у нас крутилось порядка 500 лизов, а онлайна до сотни. Но у такого решения две проблемы — отсутствие PоE портов и 100 онлайна для него — это прям ввсссёёё…
Имея опыт построения предидущих решений, не имея CRS125 но при этом с кучей ресурсов в кластерах, решение было очевидно — CHR. При стоимости в 40 баксов за гигабитные интерфейсы — это прям панацея. Для телефонии у нас жили отдельные PоE коммутаторы, которые собственно и пошли в дело.
И так, что попало в руки:
- wAP ac — 5 шт;
- CHR P1 — 1 шт;
- PоE коммутатор — 1 шт.
Рассмотрим схему построения сети.
Настройку коммутатора рассматривать не буду, там всё просто — получили 2 VLAN от CHR — отдали 2 VLAN в порт точки. Всё!
Так как для читателя — рецепт готов, то начать лучше с конфигурации самих точек доступа, а потом перейти к конфигурации контроллера, но для начала разберём адреса и сети:
172.16.0.0/24 (vlan100 ) - сеть управления [man.bgp.your.area];
172.20.0.0/24 (vlan200 ) - сеть доступа для «своих» [hotspot.wi.fi];
172.21.0.0/24 (public) - сеть доступа для «гостей» [public.wi.fi];
172.30.0.0/24 (vlan300) - сеть аплинка [bgp.your.area];
172.16.0.1 - адрес контроллера в сети управления [h.man.bgp.your.area];
172.16.0.251 - адрес первого вышестоящего маршрутизатора в сети управления [a.man.bgp.your.area];
172.16.0.252 - адрес второго вышестоящего маршрутизатора в сети управления [b.man.bgp.your.area];
172.16.0.254 - адрес VRRP интерфейса вышестоящих маршрутизаторов в сети управления [v.man.bgp.your.area];
172.30.0.10 - адрес контроллера в сети аплинка [h.bgp.your.area];
172.30.0.251 - адрес первого вышестоящего маршрутизатора в сети аплинка [a.bgp.your.area];
172.30.0.252 - адрес второго вышестоящего маршрутизатора в сети аплинка [b.bgp.your.area];
172.30.0.254 - адрес VRRP интерфейса вышестоящих маршрутизаторов в сети аплинка [v.bgp.your.area];
172.31.0.3 - адрес первого DNS сервера [a.dns.your.area];
172.31.0.4 - адрес второго DNS сервера [b.dns.your.area];
172.31.0.8 - адрес первого NTP сервера [a.ntp.your.area];
172.31.0.9 - адрес второго NTP сервера [b.ntp.your.area];
172.20.0.1 - адрес контроллера в сети для своих [hotspot.wi.fi];
172.21.0.1 - адрес контроллера в сети для гостей [public.wi.fi];
172.16.0.101-172.16.0.105 - адреса точек доступа в сети управления.
Info:
Естественно, в вашем конкретном случае IP сетей и сервисов скорее всего будут иными, поэтому все адреса и сети нужно будет изменить.
И так, рассмотрим конфигурацию точки доступа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | # Устанавливаем уникальные для точек доступа переменные, остальная часть # конфигурации стандартна для всех. # Системное имя точки доступа. :global sysID "spot1.hotspot.wi.fi" # Адрес точки доступа в сети управления. :global manIP "172.16.0.101/24" # Основные настройки. # Устанавливаем ID системы. /system identity set name=$sysID # Конфигурация VLAN. /interface vlan add interface=ether1 name=vlan200 vlan-id=200 add interface=ether1 name=vlan100 vlan-id=100 # Конфигурация Bridge интерфейса. На этот интерфейс мы "приземляем" # беспроводные интерфейсы. /interface bridge add fast-forward=no name=bridge protocol-mode=none # Добавляем на Bridge VLAN сети доступа для «своих» [hotspot.wi.fi]. /interface bridge port add bridge=bridge interface=vlan200 # Устанавливаем IP адреса в сети доступа и сети управления. /ip address add address=$manIP comment="Management network" interface=vlan100 # Настройка CAP. Здесь мы устанавливаем на какой Bridge конфигурируются # беспроводные интерфейсы, указываем IP и имя CAPs контроллера, выбираем # беспроводные интерфейсы. /interface wireless cap set bridge=bridge caps-man-addresses=172.20.0.1 caps-man-names=hotspot.wi.fi discovery-interfaces=bridge enabled=yes interfaces=5GHz-WAN,2GHz-WAN # Добавляем IP DNS сервера, которым для точек доступа является CAPs контроллер. /ip dns set allow-remote-requests=yes servers=172.20.0.1 # Важно настроить firewall для разграничения сетей и ограничения доступа # клиентов к служебным сервисам. # Для начала создаем адрес листы. /ip firewall address-list # Адрес контроллера в сети управления [h.man.bgp.your.area]. add address=172.16.0.1 list="Allowed" comment=hotspot.wi.fi Management network local # Адрес первого вышестоящего маршрутизатора в сети управления # [a.man.bgp.your.area]. add address=172.16.0.251 list="Allowed" comment=a.man.bgp.your.area # Адрес второго вышестоящего маршрутизатора в сети управления # [b.man.bgp.your.area]. add address=172.16.0.252 list="Allowed" comment=b.man.bgp.your.area # Адрес VRRP интерфейса вышестоящих маршрутизаторов в сети управления # [v.man.bgp.your.area]. add address=172.16.0.254 list="Allowed" comment=v.man.bgp.your.area # Адрес первого NTP сервера [a.ntp.wi.fi]. add address=172.31.0.8 list="Allowed" comment=a.ntp.wi.fi # Адрес второго NTP сервера [b.ntp.wi.fi]. add address=172.31.0.9 list="Allowed" comment=b.ntp.wi.fi # Теперь добавляем правила фильтра. /ip firewall filter # Запрещаем любой трафик в сеть управления add action=drop chain=input comment="Drop any to MAN except Allowed" dst-address=172.16.0.0/24 in-interface-list=all log=yes log-prefix=DROP_MAN src-address=0.0.0.0/0 src-address-list=!Allowed # Добавляем маршрут для серверов NTP /ip route add check-gateway=ping distance=10 dst-address=172.31.0.0/27 gateway=172.16.0.1 scope=10 # Отключаем лишние сервисы, остальным устанавливаем только доступ из сети # управления. /ip service set api disabled=yes set www disabled=yes set telnet disabled=yes set api-ssl disabled=yes set ftp address=172.16.0.0/24 set ssh address=172.16.0.0/24 set winbox address=172.16.0.0/24 # Отключаем MAC сервер на беспроводных интерфейсах. /tool mac-server set [find default=yes] disabled=yes /tool mac-server mac-winbox add interface=ether1 add interface=vlan100 add disabled=yes interface=bridge add disabled=yes interface=2GHz-WAN add disabled=yes interface=5GHz-WAN set [find default=yes] disabled=yes # Устанавливаем часовой пояс. /system clock set time-zone-name=Europe/Moscow # Устанавливаем NTP сервера. /system ntp client set enabled=yes primary-ntp=172.31.0.8 secondary-ntp=172.31.0.9 # Настраиваем логирование. /system logging action add disk-file-count=10 disk-file-name=log/auth disk-lines-per-file=4096 name=auth target=disk add disk-file-count=10 disk-file-name=log/info disk-lines-per-file=4096 name=info target=disk add disk-file-count=10 disk-file-name=log/error disk-lines-per-file=4096 name=error target=disk add disk-file-count=10 disk-file-name=log/syslog disk-lines-per-file=4096 name=syslog target=disk add disk-file-count=10 disk-file-name=log/warning disk-lines-per-file=4096 name=warning target=disk add disk-file-count=10 disk-file-name=log/firewall disk-lines-per-file=4096 name=firewall target=disk /system logging set 0 action=info topics=info,!firewall,!account,!system set 1 action=error set 2 action=warning add action=firewall topics=firewall add action=auth topics=account add action=syslog topics=system,!account |
Теперь переходим к контроллеру.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | # Основные настройки. # Устанавливаем ID системы. /system identity set name=hotspot.wi.fi # Конфигурация интерфейсов. Так как это CHR и работает он внутри кластера, # для ВМ каждый VLAN представляет из себя отдельный интерфейс. # В ином случае, скорее всего был бы один интерфейс и 3 VLAN. /interface ethernet # интерфейс сети управления[man.bgp.your.area]. set [ find default-name=ether1 ] loop-protect=on name=V100 # интерфейс сети доступа для «своих» [hotspot.wi.fi]. set [ find default-name=ether2 ] loop-protect=on name=V200 # интерфейс сети аплинка [bgp.your.area]. set [ find default-name=ether3 ] loop-protect=on name=V300 # Конфигурация Bridge интерфейсов. На эти интерфейсы мы "приземляем" # наши сети доступа. /interface bridge # сеть доступа для «своих» [hotspot.wi.fi]. add name=bridge-local # сеть доступа для «гостей» [public.wi.fi]. add name=bridge-public # Добавляем на Bridge интерфейс сети доступа для «своих» [hotspot.wi.fi]. /interface bridge port add bridge=bridge-local interface=V200 # Устанавливаем IP адреса в сетях доступа, аплинка и управления. /ip address add address=172.30.0.10/24 comment="Uplink network" interface=V300 network=172.30.0.0 add address=172.16.0.1/24 comment="Management network" interface=V100 network=172.16.0.0 add address=172.20.0.1/24 comment="Hotspot network local" interface=bridge-local network=172.20.0.0 add address=172.21.0.1/24 comment="Hotspot network public" interface=bridge-public network=172.21.0.0 # Пулы адресов для сетей доступа. /ip pool add name=hotspot.wi.fi ranges=172.20.0.2-172.20.0.99 add name=public.wi.fi ranges=172.21.0.2-172.21.0.99 # Сервера DHCP для сетей доступа. /ip dhcp-server add add-arp=yes address-pool=hotspot.wi.fi disabled=no interface=bridge-local name=hotspot.wi.fi add add-arp=yes address-pool=public.wi.fi disabled=no interface=bridge-public name=public.wi.fi # Конфигурации серверов DHCP для сетей доступа. /ip dhcp-server network add address=172.20.0.0/24 comment=hotspot.wi.fi dns-server=172.20.0.1 domain=hotspot.wi.fi gateway=172.20.0.1 ntp-server=172.31.0.8,172.31.0.9 add address=172.21.0.0/24 comment=public.wi.fi dns-server=172.21.0.1 domain=public.wi.fi gateway=172.21.0.1 ntp-server=172.31.0.8,172.31.0.9 # Добавляем IP адреса наших DNS серверов. /ip dns set allow-remote-requests=yes servers=172.31.0.3,172.31.0.4 # Статические записи DNS (опционально). /ip dns static add address=172.20.0.1 name=hotspot.wi.fi ttl=5m add address=172.21.0.1 name=public.wi.fi ttl=5m add address=172.30.0.251 name=a.bgp.your.area ttl=5m add address=172.30.0.252 name=b.bgp.your.area ttl=5m add address=172.30.0.254 name=v.bgp.your.area ttl=5m # Теперь переходим к конфигурации hotspot. # Создаём профиль. /ip hotspot profile set [ find default=yes ] dns-name=hotspot.wi.fi hotspot-address=172.20.0.1 http-cookie-lifetime=1w name=hotspot.wi.fi # Определяем пул и интерфейс hotspot. /ip hotspot add address-pool=hotspot.wi.fi disabled=no interface=bridge-local name=hotspot.wi.fi # Конфигурация пользователя. Здесь выбираем созданный пул, указываем время # жизни сессии (неделя), максимальное кол-во пользователей (100), время # жизни cookie и имя конфигурации (local). /ip hotspot user profile set [ find default=yes ] address-pool=hotspot.wi.fi keepalive-timeout=1w mac-cookie-timeout=1d name=local shared-users=100 # Указываем имена и пароли пользователей hotspot. /ip hotspot user add name=user1 password=password1 add name=user2 password=password2 # Переходим к конфигурации firewall для активации NAT, разграничения сетей # и ограничения доступа клиентов к служебным сервисам. # Для начала создаем адрес листы. /ip firewall address-list # Адрес первого вышестоящего маршрутизатора в сети аплинка [a.bgp.your.area]. add address=172.30.0.251 list="Main GW" comment=a.bgp.your.area # Адрес второго вышестоящего маршрутизатора в сети аплинка [b.bgp.your.area]. add address=172.30.0.252 list="Main GW" comment=b.bgp.your.area # Адрес VRRP интерфейса вышестоящих маршрутизаторов в сети аплинка [v.bgp.your.area]. add address=172.30.0.254 list="Main GW" comment=v.bgp.your.area # Адрес первого вышестоящего маршрутизатора в сети аплинка [a.bgp.your.area]. add address=172.30.0.251 list="Services" comment=a.bgp.your.area # Адрес второго вышестоящего маршрутизатора в сети аплинка [b.bgp.your.area]. add address=172.30.0.252 list="Services" comment=b.bgp.your.area # Адрес VRRP интерфейса вышестоящих маршрутизаторов в сети аплинка [v.bgp.your.area]. add address=172.30.0.254 list="Services" comment=v.bgp.your.area # Адрес первого DNS сервера [a.dns.your.area]. add address=172.31.0.3 list="Services" comment=a.dns.your.area # Адрес второго DNS сервера [b.dns.your.area]. add address=172.31.0.4 list="Services" comment=b.dns.your.area # Адрес первого NTP сервера [a.ntp.your.area]. add address=172.31.0.8 list="Services" comment=a.ntp.your.area # Адрес второго NTP сервера [b.ntp.your.area]. add address=172.31.0.9 list="Services" comment=b.ntp.your.area # Адрес первого вышестоящего маршрутизатора в сети управления [a.man.bgp.your.area]. add address=172.16.0.251 list="Allowed" comment=a.man.bgp.your.area # Адрес второго вышестоящего маршрутизатора в сети управления [b.man.bgp.your.area]. add address=172.16.0.252 list="Allowed" comment=b.man.bgp.your.area # Адрес VRRP интерфейса вышестоящих маршрутизаторов в сети управления [v.man.bgp.your.area]. add address=172.16.0.254 list="Allowed" comment=v.man.bgp.your.area # Адрес первой точки доступа в сети управления [spot1.hotspot.wi.fi]. add address=172.16.0.101 list="Allowed" comment=spot1.hotspot.wi.fi # Адрес второй точки доступа в сети управления [spot2.hotspot.wi.fi]. add address=172.16.0.102 list="Allowed" comment=spot2.hotspot.wi.fi # Адрес третьей точки доступа в сети управления [spot3.hotspot.wi.fi]. add address=172.16.0.103 list="Allowed" comment=spot3.hotspot.wi.fi # Адрес четвертой точки доступа в сети управления [spot4.hotspot.wi.fi]. add address=172.16.0.104 list="Allowed" comment=spot4.hotspot.wi.fi # Адрес пятой точки доступа в сети управления [spot5.hotspot.wi.fi]. add address=172.16.0.105 list="Allowed" comment=spot5.hotspot.wi.fi # Теперь добавляем правила фильтра. /ip firewall filter # Закрываем доступ к устройствам в сети аплинка. add action=drop chain=forward comment="Hide uplink devices" dst-address=172.30.0.0/24 dst-address-list="!Main GW" log=yes log-prefix=DROP_Inner-Lan src-address=0.0.0.0/0 # Закрываем доступ к устройствам в сетях управления и доступа. add action=drop chain=forward comment="Hide Allowed devices" dst-address-list=Allowed log=yes log-prefix=DROP_Allowed src-address=0.0.0.0/0 src-address-list=!Services # Закрываем доступ из сети доступа для "своих" к устройствам в сети для "гостей". add action=drop chain=input comment="Hide hotspot devices" dst-address=172.20.0.0/24 dst-address-list=!Allowed log=yes log-prefix=DROP_public src-address=172.21.0.0/24 src-address-list=!Allowed # Закрываем доступ из сети доступа для "своих" к устройствам в сети для "гостей". add action=drop chain=forward comment="Hide hotspot devices" dst-address=172.20.0.0/24 dst-address-list=!Allowed log=yes log-prefix=DROP_public src-address=172.21.0.0/24 src-address-list=!Allowed # Закрываем доступ из сети доступа для "гостей" к устройствам в сети для "своих". add action=drop chain=input comment="Hide hotspot devices" dst-address=172.21.0.0/24 dst-address-list=!Allowed log=yes log-prefix=DROP_public src-address=172.20.0.0/24 src-address-list=!Allowed # Закрываем доступ из сети доступа для "гостей" к устройствам в сети для "своих". add action=drop chain=forward comment="Hide hotspot devices" dst-address=172.21.0.0/24 dst-address-list=!Allowed log=yes log-prefix=DROP_public src-address=172.20.0.0/24 src-address-list=!Allowed # Теперь настраиваем NAT. /ip firewall nat # Настраиваем NAT в сети для "своих". add action=masquerade chain=srcnat comment="Main NAT local" out-interface=V300 src-address=172.20.0.0/25 # Настраиваем NAT в сети для "гостей". add action=masquerade chain=srcnat comment="Main NAT guest" out-interface=V300 src-address=172.21.0.0/25 # Настраиваем NAT в сети управления для сервисов. add action=masquerade chain=srcnat comment="Allow all from V100 to Services" dst-address-list=Services out-interface=V300 src-address=172.16.0.0/24 # Маршрут по умолчанию на вышестоящий маршрутизатор. /ip route add check-gateway=ping distance=1 gateway=172.30.0.254 # Отключаем лишние сервисы, остальным устанавливаем только доступ из сети # управления. /ip service set api disabled=yes set www disabled=yes set telnet disabled=yes set api-ssl disabled=yes set ftp address=172.16.0.0/24 set ssh address=172.16.0.0/24 set winbox address=172.16.0.0/24 # Отключаем MAC сервер на лишних интерфейсах. /tool mac-server set [find default=yes] disabled=yes /tool mac-server mac-winbox add interface=V100 set [find default=yes] disabled=yes # Переходим к настройке CAPsMAN. # Добавляем все каналы Wi-Fi. /caps-man channel add band=2ghz-b/g/n frequency=2412 name=CH1 add band=2ghz-b/g/n frequency=2417 name=CH2 add band=2ghz-b/g/n frequency=2422 name=CH3 add band=2ghz-b/g/n frequency=2427 name=CH4 add band=2ghz-b/g/n frequency=2432 name=CH5 add band=2ghz-b/g/n frequency=2437 name=CH6 add band=2ghz-b/g/n frequency=2442 name=CH7 add band=2ghz-b/g/n frequency=2447 name=CH8 add band=2ghz-b/g/n frequency=2452 name=CH9 add band=2ghz-b/g/n frequency=2457 name=CH10 add band=2ghz-b/g/n frequency=2462 name=CH11 add band=2ghz-b/g/n frequency=2467 name=CH12 add band=2ghz-b/g/n frequency=2472 name=CH13 add band=5ghz-a/n/ac frequency=5180 name=CH36 add band=5ghz-a/n/ac frequency=5200 name=CH40 add band=5ghz-a/n/ac frequency=5220 name=CH44 add band=5ghz-a/n/ac frequency=5240 name=CH48 add band=5ghz-a/n/ac frequency=5260 name=CH52 add band=5ghz-a/n/ac frequency=5280 name=CH56 add band=5ghz-a/n/ac frequency=5300 name=CH60 add band=5ghz-a/n/ac frequency=5320 name=CH64 add band=5ghz-a/n/ac frequency=5500 name=CH100 add band=5ghz-a/n/ac frequency=5520 name=CH104 add band=5ghz-a/n/ac frequency=5540 name=CH108 add band=5ghz-a/n/ac frequency=5560 name=CH112 add band=5ghz-a/n/ac frequency=5580 name=CH116 add band=5ghz-a/n/ac frequency=5600 name=CH120 add band=5ghz-a/n/ac frequency=5620 name=CH124 add band=5ghz-a/n/ac frequency=5640 name=CH128 add band=5ghz-a/n/ac frequency=5660 name=CH132 add band=5ghz-a/n/ac frequency=5680 name=CH136 add band=5ghz-a/n/ac frequency=5700 name=CH140 add band=5ghz-a/n/ac frequency=5745 name=CH149 add band=5ghz-a/n/ac frequency=5765 name=CH153 add band=5ghz-a/n/ac frequency=5785 name=CH157 add band=5ghz-a/n/ac frequency=5805 name=CH161 add band=5ghz-a/n/ac frequency=5825 name=CH165 # Настраиваем пути (datapath) для каждой сети. Именно здесь мы разделяем # сети для своих и гостей. Делается это путём присоединения к конкретному # Bridge интерфейсу (bridge-public) и отключением локального форвардинга # (local-forwarding=no). Как только мы отключаем локальный форвардинг, # беспроводные интерфейсы на точках доступа которым назначен этот путь, # перестают добавляться к локальному мосту на точке доступа, а добавляются # к указанному в пути мосту на контроллере. /caps-man datapath # Путь 1. Этот путь мы используем для конфигурации 2G интерфейсов # (сеть для своих). add bridge=bridge-local local-forwarding=yes name=datapath1 # Путь 2. Этот путь мы используем для конфигурации 5G интерфейсов # (сеть для своих). add bridge=bridge-local local-forwarding=yes name=datapath2 # Путь 3. Этот путь мы используем для слейв конфигурации 2G интерфейсов # (сеть для гостей). # Важно указать VLAN в котором будет принят интерфейс от точки доступа # (vlan-id=1), иначе ничего работать не будет add bridge=bridge-public local-forwarding=no name=datapath3 vlan-id=1 # Создаём профиль безопасности, который будет использован для гостевой сети. # Указываем тип аутентификации (wpa2-psk), шифрование (aes-ccm,tkip), # имя правила (public) и пароль для доступа к сети (PublicNetwork@wi.fi) /caps-man security add authentication-types=wpa2-psk encryption=aes-ccm,tkip name=public passphrase=PublicNetwork@wi.fi # Создаём конфигурации для каждого типа Wi-Fi интерфейсов. /caps-man configuration # Конфигурации 2G интерфейсов. Указываем канал (CH10), страну (russia), # используемый путь (datapath1), режим работы (ap), имя конфигурации # (2G-config), цепочки прием/передача (0,1,2) и SSID сети (hs2.wi.fi). add channel=CH10 country=russia datapath=datapath1 mode=ap name=2G-config rx-chains=0,1,2 ssid=hs2.wi.fi tx-chains=0,1,2 # Конфигурации 5G интерфейсов. Указываем канал (CH36), страну (russia), # используемый путь (datapath2), режим работы (ap), имя конфигурации # (5G-config), цепочки прием/передача (0,1,2) и SSID сети (hs5.wi.fi). add channel=CH36 country=russia datapath=datapath2 mode=ap name=5G-config rx-chains=0,1,2 ssid=hs5.wi.fi tx-chains=0,1,2 # Конфигурации 2G интерфейсов гостевой сети. Указываем канал (CH10), # страну (russia), используемый путь (datapath3), режим работы (ap), # имя конфигурации (2G-config-pub), цепочки прием/передача (0,1,2), # профиль безопасности (public) и SSID сети (public.wi.fi). add channel=CH10 country=russia datapath=datapath3 mode=ap name=2G-config-pub rx-chains=0,1,2 security=public ssid=public.wi.fi tx-chains=0,1,2 # Воизбежании возможных казусов связанных с разными версиями ПО оборудования, # включаем менеджер. Указываем директорию где лежать актуальные версии ПО # (/firmware/caps) и устанавливаем политику обновлений (require-same-version). # При такой политике, контроллер должен обновлять точки доступа до # используемой им версии ПО. /caps-man manager set enabled=yes package-path=/firmware/caps upgrade-policy=require-same-version # Настройка провижинга точек доступа. Так как мы заранее не знаем какой # пул MAC адресов будет использован, да и чтобы не плодить правила, будем # искать точки по имени с использованием элементарного регулярного выражения # (spot([0-9]+).hotspot.wi.fi). Теперь все точки доступа, системное имя # которых соответствует этому выражнению (spot0.hotspot.wi.fi - # spot9.hotspot.wi.fi), будут управляться нашим контроллером в # соответствии с профилем устройства. /caps-man provisioning # Создаём профиль провижинга, где разрешаем динамическое создание точки # (create-dynamic-enabled), поддерживаемые стандарты для 2G устройств # (b,gn), регулярное выражение обнаружения, мастер конфигурацию (2G-config), # правило нейминга устройств (prefix-identity) и слейв конфигурацию # (2G-config-pub). Слейв конфигурация создаёт на беспроводных интерфейсах # точек доступа виртуальный интерфейс, который мы используем для # гостевого доступа. add action=create-dynamic-enabled hw-supported-modes=b,gn identity-regexp="spot([0-9]+).hotspot.wi.fi" master-configuration=2G-config name-format=prefix-identity slave-configurations=2G-config-pub # Создаём профиль провижинга, где разрешаем динамическое создание точки # (create-dynamic-enabled), поддерживаемые стандарты для 5G устройств (an,ac), # регулярное выражение обнаружения, мастер конфигурацию (5G-config) и # правило нейминга устройств (prefix-identity). add action=create-dynamic-enabled hw-supported-modes=an,ac identity-regexp="spot([0-9]+).hotspot.wi.fi" master-configuration=5G-config name-format=prefix-identity # Устанавливаем часовой пояс. /system clock set time-zone-name=Europe/Moscow # Устанавливаем NTP сервера. /system ntp client set enabled=yes primary-ntp=172.31.0.8 secondary-ntp=172.31.0.9 # Настраиваем логирование. /system logging action add disk-file-count=10 disk-file-name=log/auth disk-lines-per-file=4096 name=auth target=disk add disk-file-count=10 disk-file-name=log/info disk-lines-per-file=4096 name=info target=disk add disk-file-count=10 disk-file-name=log/error disk-lines-per-file=4096 name=error target=disk add disk-file-count=10 disk-file-name=log/syslog disk-lines-per-file=4096 name=syslog target=disk add disk-file-count=10 disk-file-name=log/warning disk-lines-per-file=4096 name=warning target=disk add disk-file-count=10 disk-file-name=log/firewall disk-lines-per-file=4096 name=firewall target=disk /system logging set 0 action=info topics=info,!firewall,!account,!system set 1 action=error set 2 action=warning add action=firewall topics=firewall add action=auth topics=account add action=syslog topics=system,!account |
Вот такая конфигурация у нас получилась. О настройке страницы авторизации Hotspot изложено в статье MikroTik Hotspot страница авторизации, CSS и HTML файлы.
Для удобного доступа к гостевой сети я отискал сайтик, который из SSID и пароля генерирует QR-code, отсканировав который при помощи камеры смартфона, можно выполнить подключение к сети. Эти QR мы распечатали и расклеили по территории.
UPD: Для тех, у кого hotspot не переадресовывает на страницу авторизации да и вообще даже после мануальной терапии работает всё из рук вон плохо, спешу сообщить, что в MikroTik Router OS v 6.41 + hotspot не работает переадресация на страницу авторизации в том случае, когда в профиле сервера hotspot установлено имя DNS. Не понятно в чём причина, но даже страница авторизации hotspot не открывается автоматически. Лечится банальным отключением.
1 | /ip hotspot profile set [find default=yes] dns-name="" |
Научиться строить профессиональные Wi-Fi сети на базе MikroTik можно из русскоязычного онлайн-курса для самостоятельного изучения от Дмитрия Скромнова. Данный курс по MikroTik и RouterOS основан на официальной программе MTCNA, однако содержит намного больше полезной информации. 162 видеоурока и большая практическая задача, разбитая на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.
Добрый день, научился создавать хотспот и роуминг. Никак не пойму как привязать хостпот к роумингу. МБ неправильно прокидываю порты в бридж меню. А есть скрипт для обычного микротика (RB 951UI-2nd) чтоб хотспот и роуминг вместе работали?
Не совсем понятен вопрос конечно… Всегда существует две сущности — это контроллер и точка доступа (несколько точек доступа). Контроллер выполняет функции hotspot и CAPsMAN. Обьеденять обе сущности в одно устройство можно, к тому же если устройство достаточно мощное.
Когда точек много, то все они используют один контроллер (hotspot и CAPsMAN). Создавать на каждой точке их не нужно.
Представленный скрипт может отработать некорректно только в двух случаях, когда устройство уже имеет конфигурацию или имеет старую версию ПО. Перед выполнением скрипта стоит сделать две вещи — сбросить устройство и проверить нейминг портов. Они должны иметь имена ether1, ether2 и тд.
И где же там собственно бесшовный роуминг? Капсман много чего делает, все это в статье расписано детально, но вот роуминга handover там нет.
Здравствуйте! А где было написано что здесь реализован 802.11r/802.11k или речь в статье идёт о Zero-Handoff? Стандарты 802.11a/b/g/n/ac, вообще не предусматривают возможности сообщить клиенту о ближайших AP и уровне их загрузки. В случае с MikroTik этот функционал реализован иначе, да, с небольшими «прорехами» в обслуживании при переходе от точки к точке, но тем не менее, сеть клиента «ведёт» и у вас нет необходимости переключать точки руками на клиенте при переходе из одного помещения в другое.