17 mar

OpenVPN serwer na Ubuntu 18.04 LTS w 4 minuty

OpenVPN: instalacja serwera na Ubuntu 18.04 w 4 minuty

OpenVPN – jest pełno funkcjonalnym rozwiązaniem open-source do uruchomienia prywatnego serwera SSL VPN. Zostały wykorzystane technologie OSI layer 2 lub 3 z wykorzystaniem SSL/TLS protokołów. VPN pozwala na bezpieczne połączenie z siecią z niebezpiecznych publicznych miejsc/sieci, takich jak wifi w restauracji czy na lotnisku. W artykule opisaliśmy jak można zainstalować OpenVPN serwer na serwerze z systemem operacyjnym Ubuntu 18.04.

Różnicę pomiędzy VPS a VPN opisaliśmy tu 🙂

Aktualizacja Systemu Ubuntu 18.04

sudo apt update
sudo apt upgrade

Ustawienie zewnętrznego adresu IP

Skorzystamy z polecenia ip:

ip a
ip a show eth0

ubuntu-18-ip

Istnieje również druga opcja aby dowiedzieć się Swój zewnętrzny adres IP:

dig +short myip.opendns.com @resolver1.opendns.com

lub:

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

ubuntu-18-dig-ip

Info o publicznym adresie IP

Większość serwerów VPS albo w chmurze mogą mieć dwie adresacji:

  • Statyczny publiczny IP, który jest bezpośrednio przypisany do Twojego serwera i dostępny publicznie z sieci Internet. Na przykład: VPS w Hostovita, Linode, Aruba i inni.
  • Serwer znajduje się za NAT`em z publicznym IP i posiada tylko prywatny statyczny IP. Takie rozwiązanie jest stosowane w AWS EC2 lub Lightsail

Skrypt, podany powyżej automatycznie wykryje konfigurację Twojej maszyny i wyświetli poprawny adres IP.

Instalacja OpenVPN skryptem

Skorzystamy z wget aby pobrać plik:

wget https://git.io/vpn -O openvpn-install.sh

ubuntu-18-openvpn-pobieranie

Ustawiamy uprawnienia dla pliku openvpn-install.sh na wszelki wypadek:

chmod +x openvpn-install.sh

Zawartość pliku możemy zobaczyć poprzez dowolny edytor:

nano openvpn-install.sh

Uruchomiamy openvpn-install.sh aby zainstalować OpenVPN server

Teraz musimy tylko uruchomić plik poleceniem:

sudo ./openvpn-install.sh

W naszym przypadku dostaliśmy następne zapytania, ponieważ nasz serwer ma normalny publiczny adres IP:

openvpn-ubuntu-18-uruchomienie-pliku

Aby nie mieć w przyszłości problemów z serwerem DNS polecamy wybierać zawsze 1.1.1.1 lub Google DNS, są to jedne z najszybszych serwerów, które aktualizowane są prawie na bieżąco.

Jak uruchomić/wstrzymać/zresetować serwer OpenVPN na Ubuntu 18.04 LTS?

sudo systemctl stop openvpn@server # <--- wstrzymanie serwera
sudo systemctl start openvpn@server # <--- uruchomienie serwera OpenVPN
sudo systemctl restart openvpn@server # <--- ponowne uruchomienie OpenVPN
sudo systemctl status openvpn@server # <--- wyświetla status usługi
Zapraszamy zapoznać się z naszymi VPS SSD, ponieważ z kodem RABATNABLOG dostaniesz 15% na dowolną płatność za serwer dla VPN!

Podłączenie się do OpenVPN poprzez klient dla iOS/Android/Linux/Windows

Na serwerze VPS znajduje się plik konfiguracyjny o nazwie (w naszym przypadku): /root/klient.ovpn. Wystarczy skopiować ten plik na pulpit naszego komputera za pomocą FileZilla (sFTP) lub innego dowolnego programu FTP.

Następnie uruchomiamy dowolny klient OpenVPN z pobranym z serwera plikiem klient.ovpn:

  1. Klient dla iOS
  2. Klient dla Android
  3. Klient dla MacOS/OS X
  4. Klient dla Windows 8/10

Konfiguracja klienta OpenVPN na Linux

Instalujemy openvpn klienta na Swoim Linux komputerze:

sudo yum install openvpn

lub

sudo apt install openvpn

Kopiujemy plik klient.ovpn:

sudo cp klient.ovpn /etc/openvpn/client.conf

Sprawdzamy czy połączenie z terminalu jest ok:

sudo openvpn --client --config /etc/openvpn/klient.conf

Po uruchomieniu usługi OpenVPN system Linux będzie automatycznie łączyć się poprzez skrypt:

sudo systemctl start openvpn@client # <--- uruchomienie klienta OpenVPN

Sprawdzamy / testujemy połączenie

Uruchomiamy następne polecenia po podłączeniu się do serwera OpenVPN z poziomu terminalu Linux:

ping 10.1.0.1 #Ping`ujemy IP serwera OpenVPN lub IP gateway
ip route #Sprawdzamy czy routing działa poprawnie
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com #Musi zwrócić publiczny IP naszego serwera OpenVPN

 

FAQ lub hotfixy problemów

1. Sprawdzić logi serwera OpenVPN:

journalctl --identifier ovpn-server

2. Czy firewall nie blokuje połączeń lub portów:

cat /etc/rc.local
#!/bin/sh -e
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to 172.26.6.74
exit 0

3. Czy OpenVPN serwer działa i potrzebne porty są otwarte:

netstat -tulpn | grep :1194 ## 1194 - port openVPN serwer ##
ss -tulpn | grep :1194 ## 1194 - port openVPN serwer ##
ps aux | grep openvpn ## czy serwer openvpn jest uruchomiony? ##
ps -C openvpn ## czy serwer openvpn działa? ##
pidof openvpn ## znajdź PID procesu openvpn server ##

Jeżeli usługa nie jest aktywna, wystarczy ją uruchomić:

sudo systemctl restart openvpn@server

Sprawdź błędy w:

sudo systemctl status openvpn@server

4. Czy klient na Linux może się połączyć z serwerem z OpenVPN. Sprawdzamy czy potrzebny port (UDP 1194) przyjmuje ruch (IP poniżej zamieniamy na IP serwera):

nc -vu 77.83.100.116 1194
Connection to 77.83.100.116 1194 port [udp/openvpn] succeeded!

Jeżeli nie można się połączyć – to może oznaczać że albo Firewall na komputerze (Linux) blokuje takie połączenie, albo na routerze lub u dostawcy internetu jest blokada na wybrany port/protokół.

Zapraszamy zapoznać się z naszymi VPS SSD, ponieważ z kodem RABATNABLOG dostaniesz 15% na dowolną płatność za serwer dla VPN!