Dlaczego logowanie Google jest wyłączone dla wdrożeń UniFi?

Konfiguracja usługi Social WiFi wymaga, aby dla danej konfiguracji sieci dostępne były odpowiednie ustawienia. Czasami, gdy niektóre z tych funkcji nie są wspierane przez producenta sprzętu, Social WiFi może działać w nieoczekiwany sposób lub nie działać w ogóle.

Jak działa captive portal hotspot?

Zazwyczaj pierwszą rzeczą, jaką robi Twoje urządzenie po połączeniu się z jakąkolwiek siecią WiFi, jest sprawdzenie, czy ta sieć działa - czyli czy możesz uzyskać dostęp do Internetu.

Urządzenia różnych producentów robią to na wiele sposobów, zazwyczaj łącząc się z określonym adresem internetowym ustanowionym przez producenta lub osobę trzecią jako część firmware'u urządzenia - jeśli to połączenie jest udane, urządzenie nazywa to dniem i uważa dostęp do Internetu za przyznany.

Większość urządzeń, z których korzystamy w dzisiejszych czasach jest dość inteligentna. Jeśli telefon nie zdoła połączyć się ze stroną internetową, sprawdzi, czy musi zrobić coś jeszcze, aby uzyskać ten dostęp - np. wyświetlić captive portal i autoryzować! To jest dokładnie to, co robimy tutaj. Twoje urządzenie nie powinno mieć dostępu do adresu weryfikacji internetowej i powinno zamiast tego wyświetlić stronę logowania Social WiFi. Ograniczamy ten dostęp za pomocą funkcji zwanej "Walled Garden", która pozwala urządzeniu uzyskać dostęp tylko do niektórych określonych adresów (takich jak te należące do Facebooka, Google lub Twittera w celach logowania), ale nie do adresu weryfikacyjnego.

Po uwierzytelnieniu w ramach naszej usługi, Twoje urządzenie sprawdzi ponownie i zorientuje się, że ma teraz dostęp do Internetu.

Co to ma wspólnego z UniFi i logowaniem Google?

Niestety UniFi nie zapewnia opcji włączenia nazw hostów ("przyjazne" sposoby mówienia, na jaką stronę internetową chcesz wejść, np. facebook.com) w ramach ustawień Walled Garden - lub Pre-Authorization Settings, jak są one nazywane w UniFi dashboard. Te nazwy hostów będą normalnie przekształcone w adres IP, który urządzenie może zrozumieć przez coś zwanego DNS.

Problem polega na tym, że te adresy IP podlegają ciągłym zmianom. Podczas gdy wpisanie facebook.com w przeglądarce zawsze rozwiąże tę nazwę hosta na odpowiedni adres IP w tym czasie, wpisanie tego samego adresu IP co wczoraj może niekoniecznie pozwolić na dostęp do tej strony, ponieważ firmy często wykorzystują całe spektrum tysięcy adresów.

Ponieważ UniFi pozwala jedynie na określenie adresów IP, do których chcemy mieć dostęp, a nie nazw hostów, musieliśmy zrobić zakresy IP dość szerokie, aby dać trochę swobody w dostosowaniu się do zmian, jakie wprowadza ten konkretny portal społecznościowy, tak aby zawsze można było się do niego zalogować bez ciągłego modyfikowania ustawień Walled Garden.

Jednakże, ponieważ system Android jest głównie rozwijany przez Google, większość urządzeń z Androidem (ale nie wszystkie!) sprawdzi dostęp do Internetu poprzez wejście na stronę należącą do Google: http://clients3.google.com/generate Niestety, adres tej strony znajduje się w tym samym spektrum IP co adresy logowania Google, które są niezbędne do uwierzytelnienia w ramach Social WiFi.

Co to oznacza dla nas? Otóż, jeśli spróbujemy zezwolić na opcję logowania Google korzystając z UniFi's IP-range only Walled Garden, będziemy musieli odblokować również dostęp do http://clients3.google.com/generate. To sprawi, że urządzenie uwierzy, że id prawdziwie ma dostęp do internetu i nie jest obecnie w ramach captive portal - jako takie, nasz captive portal nie pojawi się automatycznie na tych urządzeniach.

Biorąc pod uwagę skalę problemu, zdecydowaliśmy się usunąć adresy logowania Google z naszej listy Walled Garden dla wdrożeń UniFi, dopóki rozwiązanie nie zostanie dostarczone przez UniFi.

Dodanie ich do ustawień Pre-Authorization (Walled Garden) jest niemal pewne, że spowoduje liczne problemy dla zdecydowanej większości klientów, a ponieważ zależy nam na doświadczeniu z naszą usługą, nie chcemy powodować niepotrzebnych zakłóceń.

Last updated