Jak skonfigurować serwer OpenVPN i Androida jako klienta ?

  1. Konfiguracja serwera:

Instalacja:

yum install openvpn

Generowanie certyfikatów:

cd /usr/share/doc/openvpn*/easy-rsa/2.0/
chmod 744 /usr/share/doc/openvpn*/easy-rsa/2.0/*
. ./vars
./clean-all
./build-ca
./build-dh
./build-key-server server
./build-key user1

Kopiowanie kluczy:

Klucze zapisały się w katalogu /usr/share/doc/openvpn*/easy-rsa/2.0/keys

cd /usr/share/doc/openvpn*/easy-rsa/2.0/keys
cp ca.crt server.crt server.key dh1024.pem /etc/openvpn/

 

Nadawanie uprawnień:

chmod 666 /etc/openvpn/ipp.txt

 

Konfiguracja openvpn.conf
mcedit /etc/openvpn/openvpn.conf

port 1194
proto tcp-server
tls-server
mode server
dev tun
local x.x.x.x ;ip wan
server 10.30.0.0 255.255.255.0 ;zakres sieci vpn dla klientĂłw
;pierwszy zawsze dla serwera, klienci z tego zakresu pobierają ip.
ifconfig-pool-persist /etc/openvpn/ipp.txt ;plik w którym zapisywane są ip klientów
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
daemon
verb 4
log-append /var/log/openvpn.log
keepalive 10 900
inactive 3600
comp-lzo
persist-tun
persist-key
push "route 10.0.5.0 255.255.255.0" ;routing który zaciągają klienci

Włączanie przekazywania pakietów:

/sbin/sysctl -w net.ipv4.ip_forward=1

I to na tyle konfiguracji serwera

  1. Konfiguracja klienta:

Kopiujemy klucze z serwera na stacje lokalną

scp root@x.x.x.x:/usr/share/doc/openvpn*/easy-rsa/2.0/keys/ca.crt ~/Pulpit/openvpn
scp root@x.x.x.x:/usr/share/doc/openvpn*/easy-rsa/2.0/keys/user1.crt ~/Pulpit/openvpn
scp root@x.x.x.x:/usr/share/doc/openvpn*/easy-rsa/2.0/keys/user1.key ~/Pulpit/openvpn

 

Konfigurujemy plik openvpn.conf i zapisujemy w ~/Pulpit/openvpn

client
dev tun
remote x.x.x.x 1194 ;ip wan serwera
proto tcp
log-append /sdcard/openvpn/openvpn.log
keepalive 10 60
comp-lzo
persist-key
persist-tun
ca /sdcard/openvpn/ca.crt
cert /sdcard/openvpn/user1.crt
key /sdcard/openvpn/user1.key

Podłączamy telefon pod kabel USB i kopiujemy pliki:

W telefonie tworzymy katalog openvpn na karcie SD.

cd ~/Pulpit/openvpn
adb push user1.crt /sdcard/openvpn/
adb push user1.key /sdcard/openvpn/
adb push ca.crt /sdcard/openvpn/
adb push openvpn.conf /sdcard/openvpn/

Instalujemy OpenVpn Settings z marketu.

Odpalamy OpenVpn Settings
Zaznaczamy OpenVPN a następnie
zaznaczamy openvpn.conf

U mnie działa ta konfiguracja bez problemu w razie kłopotów warto patrzeć w logi:

telefon:

cat /sdcard/openvpn/openvpn.log

lub

adb logcat

serwer:

tail -f /var/log/openvpn.log