SOCL.cz
blog nejen o Internetu

Příhoda s UniFi AP a (ne)funkčním portem 8881

publikováno 9. 3. 2017 v 16:35

Také jste někdy řešili nějaký (ne)logický problém a pořád na jeho řešení ne a ne přijít? A to jednoduše proto, že to nedávalo žádný smysl? Vítejte do klubu. :-) Zažil jsem docela urputnou lapálii s přístupovými body UniFi AP, která se nakonec ukázala úplně bezpředmětná a zbytečná. No fakt, pěkná blbost...

Ubiquiti Logo

Někdy od poloviny roku 2014 provozujeme ve firmě síť bezdrátových přístupových bodů UniFi AP (dále jen UAP) od společnosti Ubiquiti pro naše návštěvníky i naše zaměstnance. Je to pár měsíců, co jsem opustil kontroler verze 3.2.7 a přešel na verzi 5.2.9. Kontroler je software, který jednotlivé přístupové body řídí a monitoruje jejich činnost. S přechodem na vyšší verzi jsem nezaregistroval žádné obtíže - problémy nikdo nehlásil a mé občasné testy byly OK, například měření latence nebo sledování, jak se rozděluje rychlost mezi zrovna připojené klienty. Mimochodem - taky máte rádi ten příjemný pocit z vykonané práce, kdy vše funguje podle plánu a představ? :)

Předevčírem jsem byl donucen okolnostmi postavit jedno testovací PC pro jednu aplikaci a při té příležitosti jsem do tohoto testovacího PC vložil také wifi kartu, kdybych potřeboval něco testovat v éteru. PC jsem umístil do serverovny, zapojil do naší počítačové sítě (kabelem) a při chvilce zkusil, jaký máme v serverovně wifi signál (v budově máme pár UAP). Provozujeme několik bezdrátových sítí (SSID) - firemní, kam mají přístup jen zaměstnanci a síť otevřenou všem nastavenou jako guest portál, kde stačí odsouhlasit námi stanovené podmínky připojení do Internetu a může se surfovat. Síť pro návštěvníky tak trochu omezujeme - jak rychlostně, tak protokolově. Ale na běžné prohlížení webu, videí nebo na práci s poštou to bohatě stačí.

Tak jsem se při chvilce volna (a že není tak častá) rozhodnul, že se z tohoto PC připojím k wifi síti pro návštěvníky a vyzkouším, jak nám to tu krásně šlape. :-) Dostal jsem se přes vzdálenou plochu do PC ze své kanceláře, aktivoval wifi síťovku, proskenoval okolí a připojil se. Signál byl skvělý. Po otevření prohlížeče se po zadání adresy náhodného webu zobrazila stránka našeho guest portálu, kde návštěvník spatří logo firmy a podmínky pro připojení v jednoduchém formuláři. Po odsouhlasení dochází k přesměrování na původní webovou adresu, která byla do prohlížeče zadána. OK, zkouším se připojit. Hmm, nic. Místo toho se v prohlížeči snažila načíst webová stránka s IP adresou kontroleru na nějakém divném TCP portu 8881. Co to sakra? Co to je za port? Proč prohlížeč odkazuje na IP adresu kontroleru a ne na původní webovou adresu, kterou jsem zadával? Internet sice začal fungovat, ale bez automatického přesměrování a s chybovou hláškou v prohlížeči, že se k cílovému serveru nelze připojit. Což by nejednoho mohlo odradit od dalších pokusů v domnění, že nám tu ty internety nefungují.

Teď musím trošku blíže popsat nastavení naší sítě, aby to dávalo trošku smysl. Otevřená wifi síť pro návštěvníky běží na samostatné VLAN, na jejíž konci je router Mikrotik, který provádí rozdělování rychlosti a NAT. WAN rozhraní routeru je už v naší firemní síti a díky firewallovým pravidlům v Mikrotiku se do naší firemní sítě žádné pakety návštěvníků nedostanou. Vlastně ne tak úplně - na jednu jedinou IP adresu (a pár vybraných portů) je komunikace povolena - přesněji na kontroler, který běží na Windows Serveru. Takže když si vytáhnu tablet a pokusím se na wifi pro návstěvníky připojit, dostanu IP adresu řekněme z rozsahu 192.168.0.0/22, ale Internet nebude fungovat, dokud neodsouhlasím podmínky na guest portálu. Ten běží na IP adrese v naší firemní síti, například 10.0.0.10. Takže jsem se odpojil ze vzdáleného PC, zapnul v kanceláři notebook a zkusil ten samý postup. Akorát jsem se připojoval na jiný přístupový bod a s jiným HW. A hle, naprosto bez problému jsem se připojil a po odsouhlasení podmínek fungoval Internet i s přesměrováním na původní webovou stránku, kterou jsem předtím zadal. Chápete to někdo?

WTF

Máme 48 přístupových bodů a všechny jsou nakonfigurovány stejně, všude stejný firmware, tak proč to jenom neběží? Na Mikrotiku jsem povolil komunikaci na TCP port 8881 našeho kontroleru, ale to nemělo žádný účinek. Jednoduše proto, že na kontroleru vůbec nic na tomto portě nenaslouchá! Takže mrknout k výrobci - https://help.ubnt.com/hc/en-us/articles/204910084-UniFi-Change-Default-Ports-for-Controller-and-UAPs - TCP porty 8881 a 8882 přichází od verze 3.2.9+ a 4.6.0+, ale současně je zde uvedeno, že není potřeba otevírat port ve firewallu kontroleru! Tak jak tomu mám rozumět? Není potřeba tyto porty povolovat (na serveru), ale zcela zjevně se klient snaží na tento port kontroleru připojit! Nedává to smysl. Hledal jsem tedy dál. Zkusil jsem pro změnu diskusní fórum výrobce UAP a viděl jsem, že nejsem sám, kdo podobnou věc řešil. Ale bez nějaké pořádné odpovědi či řešení ze strany někoho z Ubiquiti. Smůla. :-( Začal jsem pomalu nadávat a proklínat liknavost techniků výše zmíněné firmy, že neřeší tento problém, který je nejen pro mne pěkný opruz. Úplně jsem viděl všechny ty lidi uvnitř naší firmy, kteří si určitě říkají, jak to máme celé nějaké zpackané. Nepříjemné. Jak se ale nakonec ukáže, nehledal jsem na fóru úplně pozorně, protože jeden přispěvovatel sice nenapsal řešení, ale později mne hezky nasměroval, když jsem se zoufalý znovu na fórum vrátil hledat rozumy. Uvedl, že TCP porty 8881 a 8882 doopravdy nemají být otevřeny na kontroleru, ale používají se přímo v každém přístupovém bodě UAP! Druhý den po příchodu do práce jsem nelenil, přihlásil se přes SSH do dvou UAP (ano, běží na Linuxu) - do jednoho, co funguje a do druhého, co zdánlivě nefunguje, jak má a porovnal jsem jejich konfiguraci - naprosto identická! Ještě bych měl zmínit, že jsem přes kontroler zadal všem přístupovým bodům v síti, aby si synchronizovaly konfiguraci. A pro jistotu jsem je ještě restartoval, což samozřejmě nepomohlo. Ono známé "zkuste to vypnout a zapnout" selhalo.

Zpět k dolování konfigurace přímo z UAP přes SSH. Z adresáře /tmp jsem si vylistoval nastavení running.cfg a začetl se pozorněji:

...
ebtables.39.cmd=-t nat -I GUESTIN -p 0x800 --ip-dst 10.0.0.10 --ip-proto 6 --ip-dport 8881 -j REDIRECT_HTTP
...

Pochopil jsem, co chtěl onen výše zmíněný přispěvovatel v diskusním fóru říci. V konfiguraci je krásně vidět, že TCP porty 8881 a 8882 se používají pro přesměrování provozu guestů. Příkaz ebtables -t nat -L vrací také relevantní informaci. V té chvíli se mi v hlavě rozjasnilo a došlo mi to. Proč se mi při připojení přes ten testovací PC pořád snaží prohlížeč zobrazit přímo webovou stránku na kontroleru na portě 8881? Na začátku jsem se zmínil, že testovací PC je připojeno i kabelem do naší firemní sítě. A jakou má IP adresu? No přeci z rozsahu firemní sítě, například 10.0.0.57, tedy je ve stejné síti jako samotný kontroler, který je přímo dostupný! Když se načítala stránka guest portálu v prohlížeči, data vůbec netekla přes wifi, ale už po kabelu. Odpojil jsem kabel. Problém vyřešen. A přitom stačilo málo - vzít hned na začátku notebook, dojít ke zlobivému přístupovému bodu a zkusit se připojit. Nepochybuju, že by fungoval na jedničku. :-)

štítky: firewall Internet mikrotik UAP unifi záhada
3135x přečteno

Komentáře k článku (0)

Zatím nikdo nic nenapsal, chcete být první?
Vaše jméno/přezdívka: (max 40 znaků)

Web: (nepovinné, zadejte s http(s)://, max 100 znaků)

Opiště sekvenci znaků:

captcha!

Zde napište komentář: (max 512 znaků)

Copyright © 2015-2024 SOCL.cz, RSS 2.0 RSS kanál blogu
Všechna práva vyhrazena, nebo tak nějak.

WEDOS BANNER