Tani, własny i wygodny VPN

Ten post dostępny jest także w języku: angielski

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:

Gotowe!

Podobne wpisy