Jak automatycznie uruchomić i ponownie połączyć OpenVPN w systemie Windows 10?

15

Uruchamianie systemu Windows 10 wydaje się dziwne lub przynajmniej nowe. Wiele programów nie uruchamia się automatycznie tak samo, jak w poprzednich wersjach, a wiele osób pyta, jak włączyć automatyczne uruchamianie. Wiem, ponieważ ciągle szukam możliwości automatycznego uruchamiania programów, do których jestem przyzwyczajony.

Jak mogę uruchomić OpenVPN podczas uruchamiania, uniemożliwić dostęp do Internetu do momentu połączenia i automatycznie zalogować się do profilu OVPN?

Mam już poświadczenia zapisane w pliku tekstowym, więc OpenVPN musi tylko załadować plik, przetworzyć go i połączyć.

Kiedyś działało to w systemie Windows 7, ale wygląda na to, że zapomniałem, jak to zrobić,

YetAnotherRandomUser
źródło
Sposób skonfigurowania aplikacji do uruchamiania, gdy użytkownik loguje się do swojego profilu, pozostał niezmieniony od czasu wydania systemu Windows XP. Co konkretnie próbowałeś? Zaktualizuj swoje pytanie.
Ramhound

Odpowiedzi:

28

Najlepszym sposobem jest skorzystanie z usług:

  1. Zainstaluj usługę OpenVPN podczas instalacji klienta;
  2. Umieść swoje profile OpenVPN (z rozszerzeniem .ovpn, a nie .conf, co jest powszechne w systemie Linux), prawdopodobnie w podkatalogu config katalogu instalacyjnego OpenVPN C:\Program Files\OpenVPN\config.
  3. Otwórz konsolę usług ( services.msc);
  4. Znajdź OpenVPNService, kliknij go prawym przyciskiem myszy, Właściwości i zmień typ uruchamiania z „Ręczny” na „Automatyczny”.
  5. Uruchom usługę, a OpenVPN znajdzie i połączy się z profilami w dowolnych plikach .ovpn. Pamiętaj, że w większości sytuacji potrzebujesz jednego interfejsu TUN / TAP na plik połączenia. W systemie Windows zdecydowanie radzę na stałe powiązać interfejs z jego połączeniem za pomocą plików konfiguracyjnych: dev-node TAP_Servzmusza OpenVPN do powiązania połączenia z interfejsem sieci o nazwie „Tap_Serv”.

Możesz sprawdzić, czy istnieje sposób na opracowanie białej listy, aby zmusić usługę do łączenia się tylko z określonymi plikami, a nie wszystkimi. W przeszłości miałem problemy z ludźmi, którzy potrzebowali mieć serwer VPN jako usługę oraz kilka plików klienta VPN na tym samym komputerze, które łączą się tylko od czasu do czasu. W takich sytuacjach, jeśli chciałem, aby GUI OpenVPN wyświetlał im piękną listę dostępnych połączeń, oznaczało to, że usługa widziała te pliki i próbowała się z nimi automatycznie połączyć. W takich przypadkach postanowiłem w ogóle nie korzystać z usług:

Jeśli korzystanie z usługi nie jest opcją, możesz przekazać dodatkowe argumenty wiersza poleceń do wywołania GUI OpenVPN, aby automatycznie połączyć się przy starcie (a także wyświetlać ikonę zasobnika jak zwykle):

openvpn-gui.exe --connect myprofile.ovpn

Aby uruchomić go po zalogowaniu, umieść taki skrót w zwykłym folderze startowym. (Dla wszystkich użytkowników %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup; lub tylko dla bieżącego użytkownika %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup.)


Nie wiem, jak uniknąć łączenia się użytkownika z Internetem przed ustawieniem VPN. Jedyny sposób, w jaki mogę dowiedzieć się, czy za pośrednictwem Zapory systemu Windows, i nie jestem ekspertem w tej dziedzinie. Jeśli chcesz uniknąć narzędzia PowerUser, aby móc uzyskać dostęp do Internetu, potrzebujesz zapory w bramie, aby tego uniknąć, lub silnych zasad grupy, aby uniknąć skalowania uprawnień.

Dla zwykłego użytkownika można skonfigurować komputer kliencki z systemem Windows bez domyślnej bramy. Ustaw stałą statyczną trasę do serwera VPN na klientach Windows za pomocą następującego polecenia (-P powoduje, że jest trwały):

route -P add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface>

Roues w systemie Windows są przechowywane pod następującym kluczem rejestru:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes

W tym momencie odłączony klient ma dostęp tylko do serwera VPN. Następnie możesz dodać następujące wiersze w pliku konfiguracyjnym serwera VPN, aby dodać trasy na klientach, gdy się łączą:

Aby skonfigurować serwer VPN jako bramę domyślną:

push "redirect-gateway def1 bypass-dhcp"

Aby dodać określoną trasę przez serwer VPN:

push "route 192.168.1.0 255.255.255.0"

Czasami wypychanie trasy nie działa w systemie Windows. Kiedy mi się to przydarza, całkowicie odinstalowuję OpenVPN i jego interfejsy z Windows, ponownie uruchamiam system i instaluję najnowszą wersję oprogramowania. Następnie przed ustanowieniem pierwszego połączenia ponownie uruchamiam system Windows. To zawsze rozwiązało problemy, jednak aktualizacja Windows 10 Anniversary (1607) jest wadliwa dla OpenVPN. Istnieje link do głębszej dyskusji na forach OpenVPN:

Problemy z połączeniem z rocznicową aktualizacją systemu Windows 10

Pamiętaj o tym podczas konfigurowania klientów OpenVPN dla systemu Windows 10.

DGoiko
źródło
Możesz użyć polecenia route, aby wymusić cały ruch przez VPN. Zobacz comentum.com/route.html
Jeff F.
Uważam się za zaawansowanego użytkownika, ale chciałbym móc to skonfigurować dla użytkowników, którzy nie są mocni, i sprawić, by działało bezproblemowo. Nie muszę przeszkadzać innym majsterkowiczom majstrować.
YetAnotherRandomUser
„Usługa OpenVPN zajrzy do katalogu konfiguracji i połączy się z każdym przechowywanym tutaj profilem VPN”. Wydaje się, że tak nie jest. Wygląda na to, że łączy się z pierwszym, gdy są sortowane alfabetycznie. Czy możesz link do dokumentacji? Nie mogę znaleźć sekcji, która to obejmuje.
YetAnotherRandomUser
Cześć Dan. Większość mojego doświadczenia pochodzi z serwerów OpenVPN w CentOS, a kiedy przechowuję wiele plików serwera, uruchamia je wszystkie. Przeprowadzę test, aby ustalić, czy zachowanie plików klienta jest takie samo, ale nie mam powodu sądzić, że będzie inaczej. Przepraszam, jeśli cię wprowadziłem w błąd, zgłośię jak najszybciej (jestem teraz w pracy, albo kiedy mam trochę wolnego czasu, albo po pracy sprawdzę to na komputerze z systemem Windows).
DGoiko,
1
Można również użyć Harmonogramu zadań (<kbd> klawisz Windows </kbd> + <kbd> R </kbd>, wpisz Taskschd.msci naciśnij <kbd> Enter </kbd>).
user598527,