Jak skonfigurować serwer OpenVpn na Ubuntu i łączyć się z Androida 4 (ICS+)

Opis instalacji serwera OpenVpn na Ubuntu i łączenie z Androida

Informacje: 

  • Nie wymaga root’a  na telefonie
  • Jeśli to serwer podłączony bezpośrednio do internetu to trzeba otworzyc port udp 1194
  • Jeśli to serwer za routerem trzeba zrobić forward portów na lokalny ip serwera na port udp 1194

1. Konfiguracja servera Ubuntu (12.04):

Instalacja:

aptitude install openvpn

Generowanie certyfikatów:

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

Na potrzeby telefonu potrzebujemy certyfikat p12 który bedzie się składał z user1.crt i user1.key:

cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/
openssl pkcs12 -export -clcerts -in user1.crt -inkey user1.key -out user_openvpn.p12

Kopiowanie kluczy:

Klucze zapisały się w katalogu /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys i trzeba je skopiować do /etc/openvpn

cd /usr/share/doc/openvpn/examples/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

nano /etc/openvpn/openvpn.conf

port 1194
proto udp
tls-server
mode server
dev tun
local x.x.x.x	
server 10.30.0.0 255.255.255.0	 
ifconfig-pool-persist /etc/openvpn/ipp.txt	
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"

linia 6 – wpisz adres IP serwera Ubuntu

linia 7 – zakres sieci vpn dla klientów, pierwszy zawsze dla serwera, klienci z tego zakresu pobierają ip

linia 8 – plik w którym zapisywane są pobrane ip klientów

linia 21 – routing który zaciągają klienci, ważna opcja jeśli chcemy mieć dostęp do innych sieci

 

Włączenie przekazywania pakietów:

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

Właczanie usługi:

service openvpn start

Dodanie do automatycznego uruchamiania:

update-rc.d openvpn enable

Odpalamy plik z logami openvpn:

tail -f /var/log/openvpn.log

 

2. Konfiguracja klienta:

Klucze do skopiowania z serwera na stacje lokalną lub na telefon:

/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ca.crt
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/user_openvpn.p12

Aby dodać certyfikat user_openvpn.p12 przechodzimy na telefonie do:

Security > Creditential storage > Install form phone storage > wybieramy certyfikat 

Przechodzimy na strone xda-developers  gdzie jest do sciagniecia aplikacja openvpn i instalujemy ją w telefonie (nie wymaga root’a)

Odpalamy aplikacje OpenVPN:

Add VPN
VPN name – wpisujemy nazwe
Set VPN server – wpisujemy IP servera Ubuntu
User authentication – tu nic nie wpisujemy
Certyficate authority (CA) certificate – wybieramy ca.crt z karty lub lokalnej pamięci
User certificate – Wybieramy wczesniej zainstalowany user_openvpn.p12

Wybieramy menu i klikamy advanced zaznaczamy LZO compression
Wybieramy menu i klikamy save

Następnie klikajac na nazwe połączenia łączymy się z serwerem.

Share Button

Przemek

Twórca portalu techfreak, elektronik, pasjonat wszystkiego co fajnie, co można przerobić. W wolnym czasie grzebie przy nettemp. A sport jaki uprawia to mini drony klasy 250.

  • disqus_GqdEJ7xKkM

    Witam ! a jak to samo zrobić na Androidzie ale dla urządzenia tap ?

    • W tej wersji jest limit nie ma TAP, pewnie dlatego że nie wymaga roota na telefonie.