Tutaj napiszę jak szybko skonfigurować całkowicie darmowego VPN na Linux. Opis dotyczy tylko klienta, za darmo ale z ograniczoną prędkością i czasem wysokimi pingami.
Rozwiązanie jest opisane na stronach VPNBook, konfiguracje są na stronie plików połączeń.
To będzie dość uniwersalny klient, który potrafi łączyć się po TCP jak i UDP oraz na różne porty (80, 443, 53, 2500) co może nam być wielce przydatne kiedy jesteśmy w sieci gdzie porty są blokowane. Całość jest dość prosta do wykonania: instalujemy klienta OpenVPN, pobieramy gotowe pliki konfiguracyjne, wgrywamy je do katalogu OpenVPN i odpalamy połączenie.
Instalacja
Jak zwykle najpierw aktualizacja:
sudo apt update
potem instalacja
sudo apt install openvpn
Po udanej instalacji pojawi się katalog /etc/openvpn i do niego wgrywamy pliki konfiguracujne
Pobieranie konfiguracji
Mamy tam różne opcje czyli serwer do jakiego się łączymy oraz protokół i port. Czego użyjemy? To zależy głownie od tego co nasza sieć blokuje i pod jaką geolokalizację chcemy się podpiąć. Wybieramy zatem kraj, kolejno protokół i port za pomocą którego nasz klient będzie się łączył i następnie pobieramy plik.
Plik konfiguracyjny zawiera wszelkie parametry połączenia oraz certyfikat SSL. Naszym zadaniem będzie uruchomienie klient OpenVPN, podanie ścieżki do pliku (tym samym wybranie sposobu połączenia) oraz podanie loginu i hasła. Te dwie wartości znajdziemy u dołu strony z plikami konfiguracyjnymi (wartości te zmieniają się z czasem zatem przed połączeniem trzeba sprawdzić):
Plik możesz pobrać z przeglądarki ale jak nie masz GUI (bo pracujesz na Linux CLI only) to możesz użyć wget np tak:
wget „https://www.vpnbook.com/api/openvpn?hostname=ca196.vpnbook.com&protocol=tcp443&ip=142.4.216.196” -O vpnbook.ca192.tcp.142.4.216.196.ovpn
Adres jaki podałem pochodzi z przycisku „Pobierz plik .ovpn” czyli to jest po prostu link jaki daje ten przycisk ale po uprzednim wybraniu serwera i sposobu połączenia. Zauważ, że jak zmienisz serwer czy połączenie, najedziesz myszką na przycisk (bez klikania) to elementy tego linku też się zmienią:
Opcja -O powoduje, że wget zapisze dane do pliku o mojej nazwie Jak tego nie zrobimy to pojawi się plik o dość długiej i niejasnej nazwie. Tutaj zaznaczyłem Kanadę (CA), serwer CA196 i protokół TCP. Jak sobie nazwiesz ten plik, taki będziesz miał. Polecam dać też rozszerzenie „.ovpn”. Plików naściągaj sobie więcej, będzie można się przełączać między serwerami.
Uruchomienie i test
Teraz najpierw sprawdzimy jakie mamy interfejsy sieciowe i adresy IP. Przykładowa konfiguracja może wyglądać tak:
Mamy tu interfejs pętli zwrotnej (lo – loopback) oraz jeden interfejs LAN (enp0s3) z adresem sieci lokalnej 192.168.53.110 i drugi, który nie jest podłączony. Domyślna brama to 192.168.53.1:
Jaką trasą ruch teraz wychodzi z naszego systemu? Przez domyślną bramę 192.168.53.1 (w tej sieci po drodze jeszcze coś jest ale to w tym przykładzie nie jest istotne), router i inne urządzenie ISP i potem leci już do Internetu. A tam może za każdym razem (ze względu na routing) być przesyłane innymi trasami. Sprawdzimy to za pomocą programu np. mtr
Teraz łączymy się z OpenVPN podając login i hasło. Uwaga: warto program ten w tym wypadku uruchomić w nowym terminalu albo za pomocą witrtualnego terminala jak screen czy tmux. Piszę o nich w innych artykułach.
Jeśli plik konfiguracyjny jest poprawny, nasza sieć nie blokuje wybranego typu połączenia (tutaj na adres we Francji, TCP, port 443 to pojawią się logi nawiązywania połączenia. Ważne: to okno terminala nie może zostać zamknięte! Program OpenVPN pracuje na pierwszym planie i jak zamkniemy terminal to zamkniemy też i ten program czyli odłączymy maszynę od sieci OpenVPN. Oczywiście można program uruchomić w tle albo jako usługę startującą automatycznie wraz z uruchomieniem systemu ale w tym artykule tego nie omawiam.
Przełączamy się do innego okna terminala i sprawdzamy teraz jakie mamy interfejsy oraz adresy.
Pojawił się nowy interfejs ‚tun1’ a adresem IP 10.102.128.98. Teraz sprawdzimy trasy:
Pojawiło się sporo nowości z czego najważniejsza to trasa domyślna: 0.0.0.0/1. Sprawdzamy teraz jaką droga wychodzi ruch z naszej maszyny do Internetu:
Jak widać zupełnie inaczej niż przed połączeniem z OpenVPN. To jest ok bo teraz po pierwsze mamy VPN, po drugie inny adres IP. Mankamentem są wysokie czasy odpowiedzi (tzw. pingi). Ale na różnych serwerach i opcjach połączenia może to być zupełnie inaczej. Trzeba zbadać inne możliwości.
Jaki adres IP teraz identyfikuje moją maszynę w sieci Internet? Sprawdzimy to za pomocą serwisu https://whatismyipaddress.com. Jeśli masz terminal ale nie GUI to skorzystaj z tekstowej przeglądarki WWW ‚lynx:
- ‚ zainstaluj: sudo apt lynx
- uruchom: lynx https://whatismyipaddress.com
- na pytanie o cookies wciśnij ‚A’
Przewiń trzy ekrany w dół (czy ileś tam) i masz swój adres z VPN:
Rozłącz się (przechodząc do okna z openvpn i naciśnij CTR-C) i ponownie sprawdź: adresy, interfejsy, trasy i adres IP w Lynx. Będa inne – takie jak ustalił Twój ISP.
Podsumowanie
Jak widać mamy ‚darmowe’ rozwiązanie obarczone pewnymi wadami: pingi, mała prędkości, ten sam IP dzielony z innymi. Oprócz tego pozostaje pytanie czy to bezpieczne? Nie sądzę. Jak coś jest darmowe to nie jesteś klientem ale produktem…
Powodzenia!












