COMPUTING > Wirtualny Private Cloud > VMware vCloud Director > Jak skonfigurować połączenie VPN za pomocą OpenVPN na Windows Server 2019

3.4.1.1 Jak skonfigurować połączenie VPN za pomocą OpenVPN na Windows Server 2019

VPN (Virtual Private Network) jest wirtualną prywatną siecią, która odpowiada za chronione połączenie sieciowe pomiędzy dwoma niezależnymi sieciami danych. Korzystając z VPN, serwer lub komputer (klient) połączony do internetu z jednej lokalizacji może uzyskać dostęp do zasobów sieciowych innego serwera poprzez utworzenie bezpośredniego połączenia w sieci wirtualnej pomiędzy dwoma nośnikami, co sprowadza się do skopiowania fizycznego połączenia między dwoma punktami sieciowymi.

VPN może zostać postawiony z wykorzystaniem podstawowych systemów operacyjnych, między innymi Windows, oraz usługi pokroju OpenVPN. Oprogramowanie open source tworzy szyfrowany tunel wirtualny, bazujący na TLS/SSL (Transport Layer Security/Secure Sockets Layer), uruchamiany z wykorzystaniem certyfikatów, które pozwalają na bezpieczny ruch pomiędzy serwerem i jednym lub więcej klientów.
 
W niniejszym poradniku przedstawimy instrukcję konfiguracji VPN za pomocą OpenVPN na Serwerze oraz Kliencie wykorzystującym Windows Server 2019. Niektóre punkty poradnika (odwołujące się do Serwera lub Klienta) mogą również być wykorzystywane w przypadku konfiguracji hybrydowej (np. Serwer Windows i Klient Linux lub odwrotnie).

W celu połączenia z tą samą siecią, dwa lub więcej urządzeń (klient i serwer) podłączonych do VPN musi posiadać dostęp do portu 1194.

Zezwolenie na ruch UDP przez port może zostać ustawione poprzez dodanie reguły do firewalla.
Rozpocznij od pobrania instalatora OpenVPN dla Windows Server 2019 bezpośrednio z oficjalnej strony.
 
Instalator może być wykorzystany na systemie operacyjnym Windows zarówno po stronie Serwera, jak i Klienta.

Po pobraniu odpowiedniego instalatora, rozpocznij proces instalacji. Upewnij się, że opcja "EasyRSA 2 Certificate Management Scripts" jest zaznaczona, a następnie kliknij "Next".



Kontynuuj instalację przechodząc przez kolejne wymagane kroki.
Gdy proces instalacji OpenVPN zostanie zakończony, wymagane jest wygenerowanie certyfikatów i kluczy dostępowych dla VPN.

Uruchom terminal Windows Server. W tym celu kliknij Start i wpisz "cmd". Następnie kliknij prawym przyciskiem myszy na ikonę Wiersz Polecenia i wybierz opcję "Uruchom jako administrator".



Przejdź do folderu, w którym zainstalowałeś OpenVPN i uruchom skrypt "init-config".
 

cd "C:\Program Files\OpenVPN\easy-rsa"
init-config

 Powinieneś otrzymać informację zwrotną jak na zrzucie ekranu poniżej.



Następnie wymagane jest wykonanie zmian w pliku "vars.bat" w folderze "C:\Program Files\OpenVPN\easy-rsa":
 

notepad vars.bat

Blisko końca dokumentu znajdują się wiersze rozpoczynające się od "set", które wykorzystywane są do ustawienia niektórych zmiennych danych środowiskowych. Podmień dane na własne w celu wygenerowania certyfikatu.



Powyższy punkt nie jest wymagany, gdyż będziesz musiał podać dane w kolejnych krokach. Wprowadzenie danych w pliku zapewni jednak wykorzystanie ich jako domyślnych parametrów w przyszłości.

Po wprowadzeniu danych zapisz plik i zamknij edytor tekstu. Wprowadź następującą komendę w celu zaimplementowania zmian:
 

vars
clean-all

Następnie rozpocznij tworzenie certyfikatu. Wprowadź w terminalu (uruchomionym jako administrator, nadal w lokalizacji "C:\Program Files\OpenVPN\easy-rsa"):
 

build-ca

Jeśli już wprowadziłeś swoje dane w pliku "vars", zostaną one wyświetlone w nawiasach kwadratowych w każdym wymaganym polu. W takim wypadku po prostu wciśnij Enter w celu ustawienia wartości jako domyślne parametry.

W przypadku pola "Common name" musisz przypisać łatwą do zapamiętania nazwę: w naszym przykładzie wykorzystaliśmy "OpenVPN-CA".

Po pomyślnym wygenerowaniu certyfikatu wygenerowane zostaną pliki "ca.crt" i "ca.key" w folderze "easy-rsa\keys".



Na tym etapie, klucze muszą zostać utworzone na serwerze. Wprowadź następującą komendę:
 

build-key-server server_name

 W tym przypadku, w polu "Common Name" musisz sprecyzować nazwę serwera. W naszym przykładzie wykorzystaliśmy nazwę "server".



Pod koniec operacji zostaniesz poproszony o dwukrotne potwierdzenie zapisu wprowadzonych danych. W obu przypadkach wprowadź y i wciśnij Enter.
W przypadku VPN, wszystkie podłączone urządzenia muszą być rozpoznawalne, więc Klienty potrzebują par kluczy do celów komunikacyjnych. W terminalu Serwera, w folderze "C:\Program Files\OpenVPN\easy-rsa") wprowadź:
 

build-key client_name

Tym razem w polu "Common Name" wprowadź nazwę dla Klienta (w naszym przykładzie wykorzystaliśmy nazwę "client-desktop").

Creazione chiavi client

Protokół szyfrowania Diffie-Hellman musi zostać wykorzystany w celu umożliwienia obu stronom (Serwer i Klient) wygenerowania "wspólnego" klucza, który będzie wykorzystywany jako uwierzytelnienie do wzajemnego rozpoznawania. Następnie wprowadź:
 

build-dh

Operacja może zająć dłuższą chwilę, zależnie od sprzętu wykorzystywanego przez serwer. Użytkownik nie musi wykonywać dodatkowych kroków.



Następnie, musisz utworzyć "ta.key", który zapewnia dodatkową ochronę VPN. Uwierzytelnienie TLS zostanie zdefiniowane, w celu weryfikacji, czy transferowane pakiety są kompletne. W tym celu wprowadź:
 

"C:\Program Files\OpenVPN\bin\openvpn.exe" --genkey --secret "C:\Program Files\OpenVPN\easy-rsa\keys\ta.key"

OpenVPN dostarcza przykładowe pliki konfiguracyjne, które są wykorzystywane przy generowaniu konfiguracji wymaganej do poprawnego działania VPN.

Przejdź do Start -> Programy -> OpenVPN -> OpenVPN Sample Configuration Files i skopiuj plik "server.ovpn" do folderu "C:\Program Files\OpenVPN\easy-rsa\keys". Następnie otwórz plik za pomocą edytora tekstu:
 

notepad "C:\Program Files\OpenVPN\easy-rsa\keys\server.ovpn"

Znajdź następujące wiersze:
  • ca ca.crt
  • cert server.crt
  • key server.key
  • dh dh2048.pem
i podmień je na:
  • ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
  • cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
  • key "C:\\Program Files\\OpenVPN\\config\\server.key"
  • dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
Zapisz zmiany i zamknij plik.
Zmiany wymagane w pliku konfiguracyjnym Klienta są podobne do tych przeprowadzonych dla Serwera.

Przejdź do Start -> Programy -> OpenVPN -> OpenVPN Sample Configuration Files i skopiuj plik "client.ovpn" do folderu "C:\Program Files\OpenVPN\easy-rsa\keys". Następnie zmień nazwę pliku na "Common Name" wykorzystaną w czasie generowania klucza (w naszym przypadku "client-desktop") i otwórz go za pomocą edytora tekstu.
 

notepad "C:\Program Files\OpenVPN\easy-rsa\keys\client-desktop.ovpn"

Znajdź następujące wiersze:
  • ca ca.crt
  • cert server.crt
  • key server.key
i podmień je na:
  • ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
  • cert "C:\\Program Files\\OpenVPN\\config\\client-desktop.crt"
  • key "C:\\Program Files\\OpenVPN\\config\\client-desktop.key"
Następnie znajdź wpis remote my-server-1 1194 i zastąp "my-server-1" adresem IP swojego Serwera. Zapisz zmiany i zamknij plik.

W kolejnym kroku skopiuj następujące pliki:
  • ca.crt
  • ta.key
  • dh2048.pem
  • server.crt
  • server.key
  • server.ovpn
do folderu "C:\Program Files\OpenVPN\config", co możesz wykonać bezpośrednio za pomocą narzędzia robocopy.
 

robocopy "C:\Program Files\OpenVPN\easy-rsa\keys\ " "C:\Program Files\OpenVPN\config\ " ca.crt ta.key dh2048.pem server.crt server.key server.ovpn

Skopiuj poniższe pliki:
  • ca.crt
  • ta.key
  • client-desktop.crt
  • client-desktop.key
  • client-desktop.ovpn
 na swojego Klienta, do folderu "C:\Program Files\OpenVPN\config\".

Uwaga: Wymagane jest również zainstalowanie OpenVPN GUI na Kliencie, jak wyjaśniono na początku poradnika dla Serwera.

Następnie, zarówno na Serwerze, jak i na Kliencie, przejdź do Start -> Programy -> OpenVPN -> OpenVPN GUI.

Graficzny interfejs OpenVPN zostanie otwarty w prawym dolnym rogu. Kliknij prawym przyciskiem myszy na ikonie OpenVPN, a następnie wciśnij "Połącz".

Jeśli kolor ikony zmieni się na zielony, oznacza to, iż połączenie z prywatną siecią wirtualną powiodło się. Urządzenia klienta oraz serwera komunikują się ze sobą za pomocą utworzonego VPN.