OpenVPN

Submitted by Jancis on Wed, 03/26/2008 - 13:44

VPN

VPN (Virtual Private Networking) ir tehnoloģija kas ļauj pieslēgties attālinātam serverim un nodibināt ar to virtuālu tīklu. Caur šo tīklu var piekļūt savam darba vietas tīklam un strādāt ar tajā novietotajiem serveriem it kā pats atrastos tur, var saslēgt divus ģeogrāfiski attālinātus ofisu tīklus vienā kopējā utt.

OpenVPN priekšrocība ir iespēja pašam nodefinēt datu kanālu. Piemēram:

- PPTP VPN datu kontrole notiek caur TCP/1723 portu un dati tiek sūtīti caur GRE protokolu. Ja mana lokālā tīkla administrators nobloķē kādu no šiem portiem, tad savienojumu nodibināt nav iespējams. OpenVPN konfigurācijā var norādīt protokolu - TCP vai UDP un izvēlēties portu. Ja ņem klasisko, 80. portu tad šim VPN pavisam noteikti varēs piekļūt.

VPN datu savienojuma kodēšana - ar OpenVPN var kodēt datu savienojumu ar dažādiem kriptēšanas algoritmiem (jā, arī ar citiem VPN serveriem to var). Piemēram:

- Pieslēdzoties pie atvērta, nedroša (open, unsecured) wireless tīkla, citi tīkla dalībnieki var izspiegot datu plūsmu un uzzināt sensitīvus lietotāja datus (jo Tava antena raida radiosignālus bezvadu tīkla pieejas punktam un tas savukārt atpakaļ un šīs pārraides ar speciālu programmatūru var noklausīties trešā persona). Pieslēdzoties pie VPN, visi tālākie savienojumi notiek caur vienu datu kanālu kurš ir kodēts, sākot ar klientu un beidzot ar serveri.

VPN dod iespēju apiet lokālā tīkla administratora uzstādītos tīkla ierobežojumus, piemēram:

- Lokālajā tiklā nav iespējams klausīties interneta radio, jo ir bloķēts (piemēram) 8000 ports. Pieslēdzoties VPN mēs virtuāli nokļūstam citā vietā un ja attālinātajā tīklā nav liegts 8000 ports tad caur šo savienojumu varu klausīties interneta radio.

VPN dod iespēju apiet lokālā tīkla administratora padziļinātos ierobežojumus, piemēram:

- Jaunākajās tīkla maršrutētāju [rūteru] (router) versijās iespējams skenēt cauri ejošo datu plūsmu un liegt p2p savienojumus. Tautas valodā - lokālā tīkla administrators var bloķēt DC++ un torrent. Izmantojot VPN kurš kriptē datu savienojumu, iespējams apiet šo serveri un turpināt izmantot p2p (ja vien attālinātajā tīklā tas nav bloķēts)

Vārdsakot - VPN dod dažādus plusus pat parastam lietotājam. Mīnuss ir tāds ka dati neiet pa taisno uz Internet serveriem, bet gan caur VPN serveri un tikai tad uz
Internet serveriem. Šādas aizkavēšanās ir vājā vieta spēlējot tiešsaistes spēles utt. Būtībā viss atkarīgs no tā cik "tālu" (delay) atrodas VPN serveris.

Uzstādīšana

Uzstādīšanas process - Linux vidē, uz Ubuntu server.

1. instalēšana
sudo apt-get install openvpn

2. sertifikātu ģenerēšana
cp -R /usr/share/doc/openvpn/examples/ /etc/openvpn/
cd /etc/openvpn/examples/easy-rsa/
vi ./vars

(izlabojam attiecīgo informāciju)

CN Jānorāda visos viens un tas pats!
. ./vars
./clean-all
./build-ca

Paroli vajag norādīt. Pēc tam viņu vajadzēs ģenerējot jaunus klientu sertifikātus.
./build-key-server server

Lietotāja atslēgas izveide. Var izvēlēties - norādīt paroli vai nē
- ar paroli
./build-key-pass user
- bez paroles
./build-key user

./build-dh
openvpn --genkey --secret ta.key

Jānokopē keys/ca.crt uz /etc/openvpn/keys/ca.crt ,keys/dh1024.pem uz /etc/openvpn/keys/dh1024.pem , keys/server.crt uz /etc/openvpn/keys/server.cert un keys/server.key uz /etc/openvpn/keys/server.key

Tad jānokopē klientam (ar scp vai kā savādāk) keys/ca.crt, keys/user.crt un keys/user.key. Šie faili jāuzmana jo ar tiem var pieslēgties pie VPN.

Servera konfigurācijas fails /etc/openvpn/server.conf

dev tun
#dev tap

up ./office.up

tls-server
dh keys/dh1024.pem

ca keys/ca.crt
cert keys/server.crt
key keys/server.key

port 1194

# default - udp
#proto tcp-server

# ja vajag - papildus kompresija datiem
#comp-lzo

verb 3

#VPN DHCP Pool
server 10.10.14.0 255.255.255.0
push "route 0.0.0.0 0.0.0.0 10.10.14.1"
push "redirect-gateway"

#Ifconfig-pool-persist client-addresses.txt
#lietotaajiem var pieskjirt statiskas adreses, noraadot failaa:
#User1,10.10.14.111

# ljauj klientiem kas piesleedzas vpn sazinaaties savaa starpaa
client-to-client

keepalive 10 120

# var noraadiit savienojuma kripteeshanas algoritmu
#Cipher AES-128-CBC

/etc/openvpn/office.up saturs:

route add -net 10.10.14.0 netmask 255.255.255.0 gw $5

Tagad serveris ir gatavs, var startēt servisu
/etc/init.d/openvpn start

Linux Ubuntu klients
Pieslēgties šim VPN iespējams 2 veidos - ar urķēšanos pa konsoli vai izmantojot NetworkManager veidni (aplet)

Konsoles variants:

Kopēt no servera failus: ca.crt uz /etc/openvpn/keys/ca.crt, user.crt uz /etc/openvpn/keys/user.crt un user.key uz /etc/openvpn/keys/user.key

apt-get install openvpn

klienta konfigurācijas fails /etc/openvpn/client.conf
dev tun
#dev tap

remote vpnserveris.com

tls-client

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/user.crt
key /etc/openvpn/keys/user.key

port 1863
#proto tcp-client

; comp-lzo
verb 3

Savienojumu var startēt ar komandu
/etc/init.d/openvpn start
un apstādināt ar
/etc/init.d/openvpn stop

NetworkManager applet variants:

Uzstādīt VPN papildiespēju
apt-get install network-manager-openvpn

Tālāk: Kreisais taustiņš uz NetworkManager ikonas (pie pulksteņa) -> "VPN savienojumi -> Konfigurēt VPN"

networkmanager-openvpn-1

Tad poga "Pievienot"

Tad "Uz priekšu"

networkmanager-openvpn-2

Pieslēgties pie "OpenVPN Client"

networkmanager-openvpn-3

Tad, jaunajā logā jāievada:
Connection Name: savienojuma nosaukums, piemēram openvpn tunelis
Gateway addres: OpenVPN servera adrese
Gateway port: standartā 1194, bet ja serverim ir uzstādīts cits, tad arī šeit jāmaina
CA File: jānorāda ca.crt fails
Certificate: jānorāda user.crt
Key: jānorāda user.key

networkmanager-openvpn-4

Optional sadaļā ieķeksējam TCP gadijumā ja serverim uzstādīts tcp protokols. augstākminētajā konfigurācijā ir nevis TCP bet UDP, attiecīgi var izvēlēties arī LZO kompresiju utt

networkmanager-openvpn-5

Pēc tam jāspiež uz pogas "Uz priekšu", tad "Pielietot".

Kad serveris veiksmīgi pievienots, nospiežot kreiso peles taustiņu uz NetworkManager apleta ikonas, var izvēlēties "VPN savienojumi -> openvpn tunelis".

networkmanager-openvpn-6

Ja pēc pāris sekundēm pie ikonas parādas atslēdziņa, tad tas nozīmē ka klients ir veiksmīgi pieslēdzies serverim un atrodas virtuālajā tīklā

MacOS X klients
Jāizmanto dmg paka no http://www.tunnelblick.net/