VPN

Konfiguracja klienta OpenVPN na Linux

Instalacja i konfiguracja

Instalujemy openvpn klienta na Swoim Linux komputerze:

sudo yum install openvpn

lub

sudo apt install openvpn

Kopiujemy plik id-XXXXXX.server.polish-vpn.pl.ovpn:

sudo cp id-XXXXXX.server.polish-vpn.pl.ovpn /etc/openvpn/client.conf

Sprawdzamy czy połączenie z terminalu jest ok:

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

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

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

Test połączenia

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

ping 10.255.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 XXX.XXX.XXX.XXX 1194
Connection to XXX.XXX.XXX.XXX 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ół. Można spróbować się połączyć przez port alternatywny 8080