konto usunięte
Temat: Przekierowanie ruchu do określonych stron www
WitamMam do realizacji pewien temat i ciekaw jestem wszelkich rad i pomysłów.
Pracownicy pewnej instytucji naukowo badawczej w której przeprowadzam wdrożenie korzystają z kilku specjalistycznych stron internetowych. Są to bazy wiedzy z konkretnej dziedziny. Strony te rozlokowane są na całym świecie i jest ich około 20. Właściciele tych witryn udzielają dostępu tylko określonym podmiotom. Najczęściej działa to tak, że strony te limitują dostęp na podstawie adresu IP. Jeśli wchodzi się z adresu który nie jest zarejestrowany otrzymuje się komunikat z informacją o zabronionym dostępie lub niekiedy otrzymuje się normalną stronę tyle że z ograniczoną funkcjonalnością. Czasem poza rozpoznaniem IP trzeba się jeszcze zalogować.
Klient zgłosił swoje IP do tych wszystkich instytucji oraz uzyskał stosowne hasła. Kiedy pracownicy korzystają z tych witryn wszystko będąc w biurze wszystko jest OK.
Jedną z części mojego wdrożenia jest umożliwienie dostępu pracownikom kiedy znajdują się poza miejsce pracy. Trzeba zatem przekierować ruch z tych stacji roboczych tak by strony docelowe widziały je, tak jakby wychodziły z IP biura.
Dodatkowym utrudnieniem jest to, że klient nie chce dopuścić prawie żądnych ingerencji w stacje klienckie. Powodem jest to, że nie da się dokładnie określić ich ilości ani rodzaju używanych systemów operacyjnych oraz przeglądarek. (Można wykluczyć Linuxy) Dodatkowo pracownicy instytucji są w różnym wieku od bardzo młodych do mocno podeszłego wieku. U mało kogo można liczyć na wiedzę informatyczną z zakresu konfiguracji. Jeśli kazaliby tym ludziom modyfikować ustawienia i konfiguracje, to zapewne nie ogonili by się od problemów i ciągłego wiszenia na słuchawce i tłumaczenia jak coś zrobić.
Pierwsze co przyszło mi do głowy i co zrealizowałem to ReverseProxy. Realizowałem je na Apache + mod_proxy jak również na HAproxy.
Działało to tak:
Na portalu, który tam wdrożyłem umieściłem stronę z linkami. Tekst wyświetlany na linku wyglądał jak adres strony docelowej.
np: http://jakas.strona.com
Jednak tak na prawdę strona prowadziła do spreparowanej domeny:
http://moje.proxy.instytycja.pl
Pod tym adresem stało proxy umieszczone w siedzibie instytucji które przekierowało żądanie do właściwej strony a odpowiedź do klienta.
Z punktu widzenia klienta było to super rozwiązanie bo sprowadzało się do klikania linków.
Niestety problemów z tym co nie miara.
Strony podczas weryfikacji adresu IP przekierowują na inne serwery od odmiennych adresach. Przemiatają konteksty, porty jak i część hosta adresu. Próbowałem robić przekierowanie po porcie, po kontekście, po części hostowej adresu. Zabawa z rewritem i udało mi się nawet doprowadzić do stanu gdzie prawie wszystko działało.
Jednak strony są modyfikowane i te magiczne przekierowania ciągle się zmieniają. Po paru tygodniach prawie nic nie działa. Żeby za tym nadążyć trzeba by nic innego nie robić.
Szukam alternatywnego rozwiązania.
1. Myślałem nad proxy i wpisaniem go do konfiguracji przeglądarek. Jednak to już modyfikacja stacji klienckiej.
2. Być może użycie VPN przez WWW. Aktualnie używam czegoś takiego opartego na Juniperze u innego swojego klienta i podoba mi się to. Jednak klient ma urządzenie NetASQ z którym wcześniej nie miałem do czynienia. Aktualnie czekam na udzielenie mi do niego dostępu. Nie wiem czy on w ogóle ma takie opcje.
3. Widzę że OpenVPN ma rozwiązanie oparte o WWW ale nie miałem z tym do czynienia. Może ktoś się tym bawił?
4. U siebie w firmie używam do takich rzeczy OpenVPN. Przekierowuję ruch do dowolnych adresów IP przez swój router firmowy. Rozwiązanie dobrze się sprawuje na bardzo wielu systemach operacyjnych. Niestety wymaga instalacji klienta.
5. ?? czekam na propozycje