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.