Tu splatają się dwa wymagania: tunel powinien się podnieść zanim ktokolwiek się zaloguje, a ruch do drugiej witryny powinien za nim podążać. To osobne problemy z osobnymi mechanizmami. Uruchomienie usługi rozstrzyga pierwsze, a czas życia trasy drugie. Rozwiązanie jednego zostawia drugie dokładnie tam, gdzie było.

Pierwszy krok: umieść profil tam, gdzie szuka go usługa

Usługa Windows czyta profile ze stałego katalogu, a GUI czyta z tego samego miejsca, więc profil, który działa przy imporcie, może pozostać niewidoczny przy starcie. Umieść pliki .ovpn w katalogu config instalacji, który zwykle znajduje się pod Program Files. Profil pozostawiony w folderze Downloads użytkownika w ogóle nie jest w zasięgu usługi.

Starsze wskazówki odsyłają do folderu config-auto, który respektowały niektóre kompilacje z ery 2.5, a późniejsze wydania nie. Dlatego aktualizacja może zamienić działający autostart w ciszę, bez niczego w logu o poświadczeniach. Zanim przesuniesz jakiekolwiek pliki, potwierdź, który katalog naprawdę czyta zainstalowana kompilacja.

Gdy na jednej maszynie jest kilka profili, daj każdemu nazwany adapter przez dev-node. Inaczej konkurują o ten sam interfejs i drugi zawodzi w sposób, który wygląda jak problem z poświadczeniami.

Drugi krok: uruchom usługę, a nie ikonę w zasobniku

Ustawienie usługi OpenVPN na Automatic powoduje, że startuje przy uruchomieniu systemu bez logowania. To jest ten mechanizm, a ikona w zasobniku nie jest jego częścią. Gdy usługa posiada połączenie, GUI może nie pokazywać ani ikony, ani stanu, co jest oczekiwane, a nie usterką.

Konsekwencją jest to, że rozłączenie oznacza zatrzymanie usługi, a nie kliknięcie Disconnect. Powiedz o tym osobie, która wspiera maszynę, inaczej pierwsze zgłoszenie do wsparcia będzie dotyczyło brakującej ikony.

Sprawdź, czy konto usługi może czytać profil i materiał klucza. Problem z uprawnieniami przy starcie wygląda w logu dokładnie jak nieudane uwierzytelnienie.

Trzeci krok: powiąż trasę z tunelem

Trwały wpis to tutaj niewłaściwe narzędzie. Dodanie trasy z -P sprawia, że przetrwa restarty i, co gorsza, przetrwa zamknięcie tunelu. Gdy VPN jest wyłączony, prefiks nadal wskazuje bramę, której już nie ma, więc host nie dotrze do tego celu, dopóki ktoś nie usunie wpisu.

Trzy alternatywy zachowują się poprawnie. Wypchnij trasę z serwera, który dodaje ją przy połączeniu i usuwa przy rozłączeniu. Dodaj ją w skrypcie route-up, który czyta route_vpn_gateway, aby następny skok pochodził z wynegocjowanego tunelu. Albo użyj Add-VpnConnectionRoute z natywnym profilem VPN Windows, który wiąże prefiks z tym połączeniem.

Gdy serwer oferuje więcej, niż potrzebuje ta witryna, route-nopull odrzuca wypchnięte trasy i zostawia tabelę całkowicie lokalną. To pasuje do współdzielonego profilu, którego użytkownicy nie mogą otrzymywać firmowej trasy domyślnej.

Czwarty krok: przetrwaj zimny start

Uruchomienie usługi, zanim istnieje stos sieciowy, daje jedną nieudaną próbę i żadnego powtórzenia. Ustawienie Automatic (Delayed Start) albo dodanie zależności od usługi sieciowej usuwa ten wyścig. Następnie powtórz test startu i sprawdź, że druga próba nie jest już potrzebna.

Zmiany tras i adapterów wymagają uprawnień administratora. Skrót autostartu dla pojedynczego użytkownika ich nie ma, więc skrypt działający z podniesionej konsoli może przy logowaniu po cichu nic nie zrobić. Zaplanuj go jako zadanie z najwyższymi uprawnieniami albo pozwól usłudze przejąć zmianę. Potem przetestuj go jako użytkownik, który naprawdę się zaloguje.

Testuj sekwencję, którą naprawdę wdrażasz, a nie tę, którą możesz wywołać ręcznie. Zimny start to jedyny test, który ćwiczy kolejność.

Piąty krok: zweryfikuj bez GUI

Po restarcie i zalogowaniu sprawdź trzy rzeczy bez otwierania GUI. Adapter powinien mieć adres,tabela tras powinna pokazywać prefiks witryny z bramą tunelu jako następnym skokiem, a ping do adresu po drugiej stronie powinien odpowiedzieć. Każde sprawdzenie odpowiada innemu mechanizmowi z powyższych kroków.

Gdy adapter nigdy się nie pojawia, podejrzanym jest sterownik, a nie profil. Te dwa błędy w logu nie wyglądają wcale podobnie, i tylko jeden z nich reaguje na ponowną instalację oprogramowania.

Powiązane artykuły