OpenVPN to zestaw oprogramowania, implementujący technikę tworzenia bezpiecznego połączenia punkt-punkt lub strona-strona w sieciach routowanych lub mostkowanych. W artykule zajmiemy się skonfigurowaniem połączenia do już gotowego serwera VPN, używając do tego NetworkManagera.

OpenVPN to zestaw oprogramowania, implementujący technikę tworzenia bezpiecznego połączenia punkt-punkt lub strona-strona w sieciach routowanych lub mostkowanych. Umożliwia on przekierowanie całego ruchu IP wykorzystując tylko jeden port do komunikacji klient-serwer. Jest to świetne narzędzie do szyfrowania przesyłanych informacji, wykorzystujące do tego celu biblioteki OpenSSL oraz protokołów SSLv3/TLSv1.

Na naszym portalu znajduje się bardzo ciekawy artykuł: Konfiguracja OpenVPN autorstwa Gerarda Stańczaka, który zgłębia tajniki konfiguracji, działania i wydajności, w tym utworzenie własnego serwera VPN.

W dzisiejszym artykule zajmiemy się głównie skonfigurowaniem połączenia do już gotowego serwera VPN, z poziomu systemu Xubuntu, używając do tego NetworkManagera.

Na początek sprawdźmy, czy mamy następujące pakiety: libpkcs11-helper1, network-manager-openvpn, openvpn, openvpn-blacklist. Jeżeli brakuje jakiegoś, to należy go zainstalować (w przypadku Xubuntu trzeba doinstalować wszystkie po kolei).

W menu NetworkManagera należy wybrać: Połączenia VPN -> Skonfiguruj VPN. Otworzy się nam nowe okno Połączenia sieciowe, z którego wybieramy Dodaj. Otworzy nam się okno, z którego możemy wybrać nowe połączenie OpenVPN lub zaimportować zapisaną konfigurację VPN.

Import konfiguracji pozwala na wybranie dwóch rodzajów plików: jeden z rozszerzeniem .opvpn (plik konfiguracyjny OpenVPN GUI pod Windows), a drugi .conf (plik z eksportu NetworkManagera). Nowe połączenie OpenVPN otworzy nam okno, z którego będziemy mogli wybrać typ Uwierzytelniania oraz wpisać nazwę naszej Bramy.

My zrobiliśmy uwierzytelnianie z Certyfikatem (TLS), oraz uzupełniliśmy odpowiednie pola w Zaawansowanych opcjach, w tym: Ogólne, Zabezpieczenia, Uwierzytelnianie TLS i Pośredniki. W przypadku wybrania Klucza statycznego, nie mamy zakładki Uwierzytelnianie TLS.

Po wypełnieniu wszystkiego poprawnie, zapisujemy i z poziomu ikonki NetworkManagera klikamy Połączenia VPN -> OpenVPN. Po chwili powinniśmy otrzymać komunikat poprawnego nawiązania połączenia.

Uwaga!
Zauważyliśmy, że wtyczka OpenVPN w NetworkManager nie posiada obsługi opcji Keepalive i Ping, przez co nasze połączenie jest zrywane po pewnym czasie. Chwilowym obejściem tego problemu jest uruchomienie polecenia ping na adres naszej bramy, zaraz po nawiązaniu połączenia.

Zaczęliśmy szukać, dlaczego brakuje tych funkcji i natrafiliśmy na 4 letnią propozycję dodania opcji Keepalive lub Ping, które można ustawić oraz byłyby obsługiwane podczas wczytywania gotowego pliku konfiguracyjnego: Bug 651657 – OpenVPN – unable to specify values for “ping” or “ping-exit” or related options. Skontaktowaliśmy się także z deweloperami projektu, którzy obiecali w ciągu najbliższych kilku tygodni dodać odpowiedni kod.