Nem minden nap találkozunk olyan kihívással, mint amivel legutóbb szembesültem. Egy ügyfél olyan Hotspot megoldást kért, amely képes működni internet nélkül. A feladat a következő volt: amikor a felhasználó csatlakozik a WiFi hálózathoz, automatikusan átirányítsa őt egy captive portálra, ahol bejelentkezhet, majd a bejelentkezés után azonnal egy letöltő oldalra kerüljön.
Ez egy online rendszerben egy viszonylag egyszerű feladatnak tűnne, de az igazi kihívás ott kezdődött, hogy az ügyfél nem rendelkezett internetkapcsolattal a helyszínen. Ez azt jelentette, hogy meg kellett oldanom, hogyan értesítheti az Android rendszerét, hogy mindig úgy érzékelje, mintha lenne internetkapcsolat, miközben valójában nem volt.
Az első lépésként a Wireshark eszközt használtam, hogy megvizsgáljam, hogyan érzékeli az Android a kapcsolatot, és hogy pontosan hogyan reagál, amikor a captive portál mögött van. Az Android rendszer különböző HTTP GET kéréseket küldött, és várta a választ. A captive portál esetén ez egy HTTP 302-es átirányítási választ tartalmazott, amely a bejelentkezési felületet adja vissza.
Ezzel az információval úgy tűnt, hogy elértem a célomat, de sajnos nem tudtam tisztán MikroTik segítségével hamisítani ezt a választ. Szerencsére volt egy Apache webserver a helyszínen futó szerveren, így a következő lépés az volt, hogy módosítottam az Apache konfigurációját. Ennek köszönhetően a kliens most már úgy érzékelte, hogy online hálózaton van, és azonnal átirányította őt a bejelentkezési oldalra, ahonnan a bejelentkezés után a kívánt letöltő oldalra került.
Az ügyfél további kérését is figyelembe kellett vennem: csak egy adott oldalt lehessen elérni. Ezt a MikroTik beépített webproxy funkciójával oldottam meg. A kényelmesebb megoldás érdekében ahelyett, hogy „deny”-t használtam volna, redirectet alkalmaztam, és emellett pár apróbb módosítást is eszközöltem a DNS beállításoknál, hogy minden domain a MikroTik saját magára oldódjon fel, így biztosítva, hogy a felhasználó mindig a login oldalra kerüljön.
A szerver védelmét egy egyszerű tűzfal szabállyal biztosítottam, hogy megvédjem a rendszert a támadásokkal szemben, biztosítva ezzel a stabilitást és a biztonságot.
Felhasznált technológiák: MikroTik (DNS, Hotspot, WebProxy, Tűzfal), Linux (Apache).
Ha hasonló megoldásra van szükséged, vagy van egy ötleted, amit szeretnél megvalósítani, de nem tudod, hogyan kezdj neki, keresd bizalommal! Szívesen segítek egyedi igényekre szabott Hotspot megoldásokban, akár online, akár offline környezetben!