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.

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!