Štítky:
AbcLinuxu,
Android,
bez,
bezpečnost,
bugfix,
DHCP,
firewall,
hotspot,
HTML,
Internet,
klient,
kravina,
LAN,
mac,
mikrotik,
modem,
následující,
nastavení,
NAT,
omezení,
ověření,
PHP,
ping,
pmacct,
pravidla,
programování,
přihlášení,
routing,
sdílení,
server,
sítě,
sranda,
šifrování,
timeout,
upgrade,
uživatel,
web,
WordPress
Mikrotik a hotspot
1.9.2018 22:42
| Přečteno: 5875×
| Bláboly
| poslední úprava: 13.2.2020 12:31
Dostal jsem se k řešení potřeby relativně jednoduchého sdílení internetu, tak sepisuji, co jsem použil s Mikrotikem.
Řešení se obecně skládá z několika kroků.
Konkrétní definice: WAN interfejsu, LAN, wifi, hotspotu, uživatelů, případných uživatelských podrobností, nějaký hardening.
Dále ověření chování, pozorování použití s různými verzemi Androidu či nějakých konkrétních OS.
Mimochodem docela jsem rozčarovaný jak jsou neaktualizované a nekonsolidované wikiny Mikrotiku. Třeba ve srovnání s Juniperem nebo Red Hatem. Poslední update 2-8 let zpět. Budiž, nějaké
souhrnné rozcestí existuje a verze 4+ jsou ve dvou odkazech (
1 a
2). Co pozoruju, tak user manager už je součástí ROSu.
Pro začátek laické povídání.
Funkci hotspotu jsem tak nějak rozchodil v posledních měsících se statickými uživateli a v nedávné době jsem zjistil, že se user manager stále používá a zrovna si s ním hraju ... Jsou lidi, co do toho nechtěj vůbec šahat, pokud je okolnosti k tomu donutí, tak pro ně budou následující řádky. Cílem je nejjednodušší a nejlevnější řešení.
WAN interfejs
Wan interfejs poskytuje připojení k internetu, zpravidla je řešen "kabelem", buď staticky nebo dynamicky (dhcp). Zpravidla veškerý provoz z LAN (domácí sítě) musí být routovaný přes tento interfejs, musí přes něj jít. A musí fungovat třeba i 1) ping na modem nebo nějaký prvek ve správě "isp", 2) ping do sítě poskytovatele i 3) komunikace skrze tuto síť (to podle její velikosti).
Zpravidla na WANu běží dhcp klient.
LAN interfejs
LAN obsahuje připojené všechno, co uživatel používá lokálně. Tento adresní rozsah se zpravidla (pro IPv4) schovává za NAT při komunikaci do internetu.
Zpravidla v LAN běží dhcp server. Na jednom interfejsu Mikrotiku může běžet max 1 dhcp server.
Wifi
Wifi používá profily (interface wireless security-profiles) v rámci Mikrotiku pro nastavení WPA2 šifrování. Mikrotik umí definovat virtual wifi a tedy i více SSID v rámci jednoho železa. Lze to použít tak, že hotspot se pustí, provozuje pouze v rámci nějakého SSID. A jedno wifi je s omezením a druhé bez omezení. A třetí když tak jako statický hotspot. A zatím to vypadá, že změna jednoho virtuálního wifi interfejsu restartne komplet všechny.
Jak to vypadá, tak vynucení přihlášení na konkrétní SSID lze udělat povolením jedné MAC a interfejsu a zakázáním (třeba "no forward") na ostatních.
Hotspot
Ve verzi 6.42.x je už hotspot v rámci RouterOSu (co jsem viděl starší návody, tak se zmiňovala nutnost nainstalovat user manager.) Pro instalaci je dostupný i "hotspot setup". Podle všeho by lokální a hotspotí uživatelé neměli mít stejná přihlašovací jména, aby mohl Hotspot fungovat. Lokální jména mají přednost.
Hotspot lze provozovat na wifi i na drátu v rámci Mikrotiku. Při přihlášení do hotspotu se testuje URL connectivitycheck.gstatic.com.
Doplňky
Podle chutě bude nutno nějak definovat pravidla pro zřizování uživatelských jmen, na která bude bude přidělen "počítačový čas". Pokud bude mít k dispozici správce Mikrotiku syslog server, lze přijímat logy. Tato konfigurace nejde podle všeho "vypnout", jen smazat a znova přidat.
/system logging action
set 3 remote=IP_adresa_syslog_serveru src-address=IP_adresa_Mikro_tiku
/system logging
add action=remote prefix=log-remote-
Kouzelná kombinace pro výpis statistiky interfejsu je i tato ...
/ int ethernet print detail stats where name=ether1
K rádiusu:
zpráva accountingu 1 je začátek, 2 ukončení, 3 aktualizace (=interim update). Co klient přenesl je v Acct-Input-Octets a Acct-Output-Octets.
Způsob ukončení relace je mj.: 1 user request, 4 idle timeout, 5 session timeout, 6 admin reset. V
RFC 2866 jich je zmíněno celkem 18.
Ke QOSu:
Rate limit 512k, Burst rate 2m, Burst threshold 1m, Burst time 30s a Min rate 256k se promítne jako ...
/tool user-manager profile limitation
add address-list="" download-limit=104857600B group-name="" ip-pool="" name=profile100m-slow owner=admin rate-limit-burst-rx=2097152B rate-limit-burst-time-rx=30s rate-limit-burst-time-tx=30s \
rate-limit-burst-treshold-rx=1048576B rate-limit-burst-treshold-tx=1048576B rate-limit-burst-tx=2097152B rate-limit-min-rx=262144B rate-limit-min-tx=262144B rate-limit-rx=524288B rate-limit-tx=\
524288B transfer-limit=104857600B upload-limit=104857600B uptime-limit=0s
Změnit MAC adresu lze z CLI, ne z webui ... (platí i pro wifi)
/ int ethernet set mac-address=xx:xx:xx:xx:xx:xx jmeno_interfejsu
Jak na
IPv6, aneb zprovozněno (koonečně) v gentoo. A
online ipv6 calculator, první z hledání. Na vstupním interfejsu doporučeno povolit udp/546 a udp/547 pro dhcpv6.
Jedna vychytávka Mikrotiku -
různé režimy wifi aneb bridge, pseudo-bridge apod.
Hardening
Je dobré mít nějaký "use case" pro použití přístupu k internetu. A tedy vědět, co lze zakázat (winbox, přístup na mac adresu), co není potřeba. Pokud použiju guest wifi hotspot a nějaký odlišný rozsah, musím vědět, jak budu třeba z mobilu spravovat uživatelský přístup lidem. Pokud použiju certifikáty na https, může se mi stát, že se z jedné "sítě" nedostanu na jiný interfejs. To podle preference konkrétního webového prohlížeče.
Disablování služeb (https://wiki.mikrotik.com/wiki/Manual:Securing_Your_Router)
Odkazy
- Wiki topic: Packet Flow aneb kam že mám to pravidlo spáchat ...
-
http://www.binaryheartbeat.net/2014/02/setting-up-mikrotik-hotspot-with.html
The RouterBOARD CPU and RAM will directly affect the performance of your Hotspot, so consider beforehand how many clients you wish to connect.
A RouterBOARD 750 can comfortably run about 25-50 users.
In my example I will use a RouterBOARD 532 with one 2.4ghz WLAN card
A taky tam (únor 2015) tvrdí, že RB2011 by zvládla třídu se 100 žákama, "voucher based" a balíčkama. -
AAA a hotspot
-
ROS 2.9 a další výklad celého tématu včetně FW pravidel
-
Wiki: userman
-
Wiki: Userman a vouchery
-
Příklad skriptu, konkrétní výpis
-
Featury RouterOSu, QOS: HTB, QOS: PCQ
-
Připomenutí parametrů na cli
-
Nastavení zálohování konfigurace mailem
-
AbcL - zmínka o accountingu a pmacct a hlavně OpenFlow - ke 12.2.2018 není vhodné pro produkci (poslední update odkazovaného wiki záznamu)
-
Názorný příklad konfigurace front (queues)
-
Hotspot, omezení, prioritizace
-
Kompletní návod na rozchození Hotspotu na novém interfejsu
-
"Manuálová" stránka pro základní definici Hotspotu
-
Názorné vysvětlení řízení omezení velikosti pásma (rychlosti) za pomoci front a "ip mangle"
-
Pro trial access (anonymní přístup bez přihlášení) stačí povolit v nastavení profilu
-
Podle všeho Let's Encrypt nefunguje na privátních adresách, doménách.
-
Diskuse na téma station-bridge
-
proměnné pro Hotspot, pro statické uživatele vypsání volných dat funguje, pro radiusové uživatele v 6.43.2 nee. Stejně tak $idle-timeout status nevypisuje.
-
Wiki - SNMP
Co prozkoumat
Chronologicky
Aspoň trochu ...
Ke dni 1.9.2018 už mám i hotspot s radiusem funkční. Podle všech odkazů na webu (třeba i
tady) je to sranda, já měl v logu "radius server not responding", podle
stack overflow to byla nějaká kravina, routing byl ok, zdrojová adresa nastavená, timeout dostatečný. V nouzi downgrade na bugfix, šlapalo, upgrade na current a šlape taky. Tak nevim.
Tak ještě doladim kudrlinky a časem to sem dopíšu.
K 17.9. už dojde k vyčerpání dat a odhlášení uživatele při používání streamu z internetu i kopírování po síti. Nejsem si jistý, zda byl zapnutý accounting v rámci dhcp serveru. Tj. už ověřena funkce na 952.
Další test: při neomezené, neškrcené, rychlosti je spotřeba dat o dost větší. Pokud rychlost snížím, tak se skoro blížím požadovaným hodnotám. Což by zase tolik nemuselo vadit, pokud bude poskytnuto o minutu či kolik delší provoz a jen pár jednotek MB projde nad rámec. Nakonec stačilo zkrátit interval "Burst time".
A malá radost k tématu, tohle je v logu, čili že to fakt asi šlape ...
22:40:16 hotspot,debug log-hotspot-: slow10m (192.168.228.80): RADIUS accounting request sent
22:40:16 manager,debug manager-: Sending Disconnect-Request 1 [sid = 56], acctId = 80500052 to 192.168.28.230
22:40:16 manager,debug log-manager-: Sending Disconnect-Request 1 [sid = 56], acctId = 80500052 to 192.168.28.230
22:40:16 radius,debug,packet log-radius-: received Disconnect-Request with id 1 from 192.168.28.230:42104
22:40:16 radius,debug,packet log-radius-: Signature = 0xa7a6235ea0ddb548d0637e6a20280f58
22:40:16 radius,debug,packet log-radius-: User-Name = "slow10m"
22:40:16 radius,debug,packet log-radius-: NAS-Port = 2152726610
22:40:16 radius,debug,packet log-radius-: NAS-Port-Type = 19
22:40:16 radius,debug,packet log-radius-: NAS-Port-Id = "wifi_radius"
22:40:16 radius,debug,packet log-radius-: NAS-IP-Address = 192.168.28.230
22:40:16 radius,debug,packet log-radius-: Framed-IP-Address = 192.168.228.80
22:40:16 radius,debug,packet log-radius-: Calling-Station-Id = "34:69:87:6E:77:03"
22:40:16 radius,debug,packet log-radius-: Acct-Session-Id = "80500052"
22:40:16 radius,debug log-radius-: received remote request 11 code=Disconnect-Request from 192.168.28.230:42104
22:40:16 hotspot,info,debug info-: slow10m (192.168.228.80): logged out: radius disconnect
22:40:16 hotspot,info,debug log-hotspot-: slow10m (192.168.228.80): logged out: radius disconnect
22:40:16 hotspot,account log-account-: slow10m (192.168.228.80): 240 682136 10107807 8344 8541 (radius disconnect)
22:40:16 hotspot,account log-hotspot-: slow10m (192.168.228.80): 240 682136 10107807 8344 8541 (radius disconnect)
22:40:16 hotspot,debug log-hotspot-: slow10m (192.168.228.80): removing queue
22:40:16 hotspot,debug log-hotspot-: slow10m (192.168.228.80): removing ip->user binding
22:40:16 hotspot,debug log-hotspot-: slow10m (192.168.228.80): sending RADIUS accounting Stop request
22:40:16 manager,debug manager-: Request processed in 320 ms
22:40:16 manager,debug log-manager-: Request processed in 320 ms
Issues
Hotspot a počítání dat funguje na statické weby. Na youtube zatím ne (doplněno: asi je to cachovaný, pomohlo použít profil s omezením rychlosti - rate limit). Prej tree queue to snad řeší (opravdu? Nebylo zatím potřeba). Fast (path, track apod.) do toho asi nemluví, do toho co a jak se počítá (komentář: ponecháno snad původní nastavení, v "ip settings" jsou vidět nějaké pakety započítané pro ipv4-fasttrack-packets, za 3 dny jich je 23.000). Takže
ty tree queue.
Jak poznat / řešit změny konfigurace, kdy co kdo spáchal (user aaa napoví?). Nebo taky hledat v logu něco jako
MM.DD HH:MM:SS system, info log: XXX changed by YYY
Když už rádius šlape, mohl by i jednodušeji řešit přístup do počítače, linuxu ... přes pam_time to asi nejde, tam je jen jedno souvislé okno.
Ano, v CLI mohu nastavit user-prefix v rámci user manageru. Ale ve webovém přístupu se to neprojeví ...
Pořád si ještě nějsem jistý, jaký je nejlepší způsob mazání sešny, odebrat z Active users, smazat Cookie nebo zakázat na chvíli na rádiusu. Něco funguje občas hned a občas se i posmazání sešna objevuje a musim mazat znova ... ověřit v logu, co to vlastně dělam, jestli neni chyba i jinde.
Čas od času mám odpověď na přihlášení "profile not found". V usermanu pak skutečně u "actual profile" nic není. Mam za to, že jsem jej nastavoval. Stejně tak v Mikrotiku samotném edituju parametry a profilu bez jejich přiřazování. Snad to jde i v usermanu ... nebo je za tím něco jiného, než přetržení vazby u změněné komponenty? Občas stačilo vymazat počítadlo dat, snad u verze 6.43.0 a 6.43.1. potvrzeno i u 6.43.2, "Profile not found" a vyčerpaná data.
Co koukam, tak ovládání usermanu přes konsoli je tímto způsobem možné ... ono číslo 12 je ID přihlašovacího jména (tool user-manager user pri), platí pro 6.43.2.
/ tool user-manager user create-and-activate-profile profile=JMENO_PROFILU numbers=12
Navíc jsem objevil, že když přidam k jednomu přihlašovacímu jménu dva profily, tak v přehledu toho, co uživatel může, je pouze hodnota z jednoho limitu. Ale počítaj se oba, oba jsou použité. A v CLI je to vidět.
Script na mazání logů z UM:
:foreach i in=[/tool user-manager log find] do { /tool user-manager log remove $i; }
i když ono stačí už i použít interní příkaz UM ...
/tool user-manager database clear-log
Když někdo
posílá velké pakety (tj. neumí správně zarovnat MSS), tak
/ip firewall mangle
add action=change-mss chain=forward new-mss=1400 protocol=tcp tcp-flags=syn tcp-mss=!0-1400
add action=change-mss chain=output new-mss=1400 protocol=tcp tcp-flags=syn tcp-mss=!0-1400
Pokud je požadován sdílený účet, je toto nutno potvrdit jak v nastavení profilu, tak u jména uživatele a také v nastavení hotspotu.
Pravděpodobně dvě zařízení, pc a smartphone, se nechytaj na wifi, doporučeno je mj.
the problem in my situation was in country, channel width - nebo taky "I followed your instruction about increasing Lease time. All good now." V našem případě nakonec pomohlo povolit TKIP na wifi, tedy nemít pouze AES - kvůli jednomu Samsungu a nějakým woknám.
Čas od času se Mikrotik nějak zamyslí. Pak třeba autentikace trvá a další pokus dává hlášku "in progress" nebo co, viděl jsem to zatim asi jen 2x. V logu nic jasného není.
Pokud člověk generuje z klienta provoz a změní NAT na Mikrotiku, tak při otevřeném spojení se nová sešna nenaváže, čili NAT se podle nové konfigurace neudělá. Kde jen jsem to už viděl

aneb timeouty u protokolů ...
Kravinky
Na rb2011
beep funguje, na rb952 nee (inspirace byla
tady).
Pro výpis počtu zajímavých položek lze použít "count-only", např.
ip dhcp-server lease print count-only
Userman potřebuje po zadání refresh, např. když něco nakonfiguruju, tak se to nezobrazí hned. Ověřeno v defaultním vivaldi i "standardním" profilu firefoxu. No, 3x jsem si toho všiml za poslední týden, jen občas se vracím na stejný list, když něco zadám. Závěr - testovat i v jiných prohlížečích.
Podle všeho, tak když userman žije na nějaké IP adrese na Mikrotiku, tak se na něj
nelze dostat zřejmě na všech IP adresách, co Mikrotik má. (prověřit ... teď je tam 404, správně ...) Takže nejdřív mám status, přepíšu IP adresu na jiný interní wifi subnet a dostanu se na přihlášení do routeru i na přihlášení do usermana ... v aktuálním vivaldi 1.15.1147.64_p1.
I při restartu routeru se uchová informace o stažených datech.
Kdyby něco, tak pustit
pustit debug na radius.
Přehled režimů Mikrotiku (router, bridge, CAP, CPE, HomeAP, WISP AP).
Zprovoznění usermana
1) Mít aktivovaný balíček (v cli není "X" u user-manager po "sys pack pri"). 2) Změnit heslo pro admina (tool user-manager customer set password=noveheslo)
3) upravit v usermanu viditelná pole (v settings, původní seznam je celkem strohý)
4) nutno přiřadit uživatelskému jménu nějaký profil, musí být Active, ne Waiting nebo prázdný - v logu Mikrotiku to je taky vidět ... (radius (I.P.): login failed: no valid profile found), 5) když už si myslíme, že vše šlape, tak přes maintenance udělat backup a třeba otestovat na dalším Mikrotiku jako nezávislý radius server a sledovat souvislosti třeba. 6) V chrome se ovládá userman líp než ve firefoxu (i když možná záleží i na OS) ...
To do
Doplnit nějaký anglický text, souhrn. Vypsat, zveřejnit funkční konfiguraci. Otestovat funkci i na RB2011 (hotovo). Otestovat i s živějšími a čilejšími profily, uživateli (zatím nefunguje kombinace profilů ~ špeky). Porovnat s freeradiusem. Poškádlit xka s radiusem.
UPDATE: Have you got a small flash in your hAP lite? I stucked on 6.45.1. When I disabled almost all packages and downloaded the current 6.46.3 in root directory I've got after reboot running and updated Mikrotik. Although with bundle package.
I did factory-reset, then used computer as a gateway. This means I disabled wireless too on Mikrotik before upgraded.
Tiskni
Sdílej:
Komentáře
Vložit další komentář
2.9.2018 12:04
Odin
Re: Mikrotik a hotspot (bude průběžně updatováno)
Založit nové vlákno •
Nahoru