Ten post dostępny jest także w języku:
tl;dr
Zbiór informacji o sposobie na uruchomienie własnej VPN z wykorzystaniem taniego serwera VPS (już od kilku zł miesięcznie) oraz integracji z NetworkManager w systemie Linux, a także telefonami pod kontrolą Androida.
Co to?
VPS – wirtualny serwer. Z punktu widzenia użytkownika zachowuje się jak zwykła maszyna, z reguły jest na niej uruchomiony. Z tego względu jest sporo tańszym rozwiązaniem. Wirtualizacja niesie ze sobą trochę ograniczeń, np. częsty brak dostępu do interfejsów kryptograficznych hosta, jednak z pomocą poniższego tutoriala uzyskamy pożądany efekt.
VPN to wirtualna sieć prywatna, stanowi ona dobre zabezpieczenie przed niepożądanym dostępem do wglądu naszych działań w sieci przez osoby trzecie. Umożliwia przeprowadzenie całej komunikacji z Internetem poprzez nasz serwer, zmieniając nasz adres IP.
Instalacja po stronie serwera
Do swojego VPN wykorzystuję tani VPS Classic z OVH pod kontrolą Ubuntu serwer LTS. Korzystając z tutoriala od DigitalOcean udało mi się zainstalować OpenVPN mimo ograniczeń wirtualizacji.
Pobieramy pakiet openvpn-as właściwy dla naszej dystrybucji:
wget http://swupdate.openvpn.org/as/openvpn-as-2.0.20-Ubuntu14.amd_64.deb
Następnie po zainstalowaniu pakietu komendą:
dpkg -i openvpn-as-2.0.20-Ubuntu14.amd_64.deb
Ustawiamy hasło administratora openvpn:
sudo passwd openvpn
Instalacja po stronie klienta
By uruchomić OpenVPN w naszej maszynie i połączyć ją z serwerem potrzebujemy kilku nowych pakietów:
sudo apt-get install openvpn network-manager-openvpn network-manager-openvpn-gnome
Konfiguracja
Pod adresami https://server_ip_or_domain:943/admin oraz https://server_ip_or_domain:943/ znajdują się interfejsy administracyjne. Wchodząc na pierwszy z nich logujemy się hasłem ustawionym dla openvpn i konfigurujemy dostęp dla naszych użytkowników. Następnie logując się pod drugim adresem za pomocą nazwy użytkownika i hasła z serwera pobieramy interesujące nas pliki konfiguracji (znajdują się tam również instrukcje konfiguracji dla rozmaitych platform). Tu posłużę się plikiem dla autologowania.
Przygotowanie do konfiguracji klienta
Pobrany plik client.ovpn musimy poddać edycji. Tu z pomocą przyszła wklejka autorstwa Morley93. Warto jest utworzyć katalog ~/.vpn i przenieść tam nasz plik client.ovpn . Następnie zawartość niektórych sekcji przenieść do właściwych plików:
do ca.crt do client.crt do client.key do ta.key
Następnie wyrzucamy z pliku zawartości znaczników oraz same znaczniki, dodatkowo linię key-direction 1. W ich miejsce wklejamy:
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
Konfiguracja klienta
Po dokonaniu wszystkich czynności dobrze jest zrobić restart systemu. Ostatnią czynnością jest import. Przechodzimy do ustawień sieci NetworkManagera, dodajemy nową sieć typu VPN i przechodzimy do importu pliku. Teraz połączenie powinno już działać. Jeśli nie, warto spróbować zaznaczenia opcji połączenia po TCP w ustawieniach zaawansowanych połączenia.
Alternatywny sposób
Możemy korzystać z OpenVPN bez użycia NetworkManagera. Wówczas wystarczy tylko wykonać komendę:
sudo openvpn --config client.ovpn
Dodatkowe informacje
OpenVPN działa na wielu platformach, poniższe linki opisują sposoby ich konfiguracji:
- Aplikacja dla MS Windows
- Aplikacja dla Mac OS X
- Konfiguracja w systemie Android
- Konfiguracja w systemie iOS
Gotowe!