OpenVPN: erinevus redaktsioonide vahel

Allikas: Kuutõrvaja
Mine navigeerimisribaleMine otsikasti
Imre (arutelu | kaastöö)
Jj (arutelu | kaastöö)
Resümee puudub
 
(ei näidata 3 kasutaja 148 vahepealset redaktsiooni)
1. rida: 1. rida:
===Eesmärk===
Kasutades avalikku ebaturvalist võrku võimaldab virtuaalne privaatvõrk (ingl. k. Virtual Private Network, VPN) korraldada osaliste arvutite ja alamvõrkude vahel turvalist andmevahetust. Reeglina osaleb VPN lahenduses enam kui kaks osapoolt või vähemalt tehnoloogiliselt see on võimalik. Virtuaalne privaatvõrk esineb kas etherneti (layer 2) või ip kihis (layer 3), mis tähendab, et virtuaalses privaatvõrgus omavahel suhtlevate rakenduste jaoks on põhimõtteliselt VPN olemasolu läbipaistev. VPN'i eeliseks muude turvalist suhtlemist võimaldavate lahenduste (nt tcp ühenduse tasemel toimuv ssh abil tehtav pordi suunamine) ees on, et rakendusi ei tule kuidagi spetsiifiliselt ette valmistada või seadistada ning andmevahetuse aluseks saab kasutada nn tavalist avalikku võrku ehk internetti, mille kasutamine on iseenesest suhteliselt odav. VPN ühendusega kaasnevat kanalit üle avaliku võrgu kahe otspunkti vahel nimetatakse tunneliks.


Käesolevas tekstis kirjeldatakse OpenVPN kasutamist eesmärgiga on seada käima turvaline ühendus ühe OpenBSD arvuti ja ühe või mitme Debian arvuti vahel, kusjuures OpenBSD juures töötab OpenVPN server režiimis ning Debianil klient režiimis.
Võrreldes muude VPN lahendustega on OpenVPN tarkvarale iseloomulik


OpenVPN kasutab OpenBSD poolel tun seadet ning Linuxi poolel analoogilist tun/tap seadet. Need on virtuaalsed võrguseadmed, mis tähendab, et nad on realiseeritud tarkvaraliselt võimaldades neid kasutaval programmil saata andmeid operatsioonisüsteemi võrgu pinnu (ingl. k. networking stack) ning vastupidi, võtta sealt andmeid vastu.
* turvaline - kasutab SSL/TLS vahendeid ja töötab nö user-space'is erinevalt IPSec'ist, mis töötab kernel-space'is
* lihtne kasutada - toetab rohkelt erinevaid platvorme (Linux, BSD, Windows, MacOSX) ning on reeglina olemas paketihalduses
* funktsionaalne - nt võimaldab moodustada VPN lahendust etherneti ja ip kihis, praktiliselt sisaldab IPSec'iga samaväärseid võimalusi
* paindlik - kuna OpenVPN kasutab andmevahetuseks UDP protokolli, siis ei ole probleemiks nt NAT seadmete läbimine; aga OpenVPN serveri võib seadistada käima ka nt 443/tcp pordil
* vaba tarkvara - arendus toimub James Yonan'i eestvedamisel, http://openvpn.org/
* VPNiga seotud seadmete MTU on 1500 baiti, st ip paketi sees on kasutada 1480 baiti (erinevalt nt IPSec lahendusest kus paketi sees on kasutada vähem)


tun/tap seade võib töötada kahes kihis
Kuutõrvajas on OpenVPN tarkvara kasutusjuhendid jaotatud erinevateks tekstideks lähtudes kasutusjuhtudest, kusjuures OpenVPN kliendi platvormist ei sõltu oluliselt tema edukus serveriga suhtlemisel.


* layer 2 - etherneti kiht, nt moodustada sildu (Linuxi puhul tap)
* [[OpenVPNi lihtsad kasutusjuhud]]
* layer 3 - ip kiht, tegeleda ruuditavate ip pakettidega (Linuxi puhul tun)


===OpenVPN serveri seadistamine - OpenBSD===
Serverid


Paigalda pakett openvpn
* [[:OpenVPN serveri kasutamine OpenBSD'ga]]
* [[:OpenVPN serveri kasutamine FreeBSD'ga]]
* [[:OpenVPN serveri kasutamine Debianiga]]
* [[:OpenVPN serveri kasutamine Eesti ID-kaardiga]]


  # pkg_add openvpn
Kliendid


Seejärel tuleb moodustada mõned kataloogid ja failid
* [[:OpenVPN kliendi kasutamine OpenBSD'ga]]
* [[:OpenVPN kliendi kasutamine FreeBSD'ga]]
* [[:OpenVPN kliendi kasutamine Debianiga]]
* [[:OpenVPN kliendi kasutamine Windowsiga]]
* [[:OpenVPN kliendi kasutamine MacOSX'iga]]


  # mkdir /etc/openvpn /etc/openvpn/keys
Muud üldised tekstid
  # touch /etc/openvpn/keys/index.txt
  # echo 01 > /etc/openvpn/keys/serial
  # cp /usr/local/share/examples/openvpn/easy-rsa/openssl.cnf /etc/openvpn


Seada sobivab keskkonnamuutujad
* [[:OpenVPN ja nimesüsteem]]
* [[:OpenVPN serveri haldusliides]]
* [[:Märkused OpenVPN kasutamise kohta]]


  # . /usr/local/share/examples/openvpn/easy-rsa/vars
Abiks olevat materjal


Seejärel tuleb genereerida sertifikaadid
* [[:Sertifikaadid]] Sertifitseerimiskeskuse loomine ja sertifikaadi kinnitamine


* CA
* http://wiki.itcollege.ee/index.php/VPN_seadistamine_OpenVPN-iga


  # cd /etc/openvpn/keys
http://wiki.debian.org/OpenVPN
  # /usr/local/share/examples/openvpn/easy-rsa/build-ca
 
* OpenVPN serveri sertifikaat
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-key-server server
 
* OpenVPN kliendi sertifikaat
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-key sid1
 
* Diffie-Hellmani ajad
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-dh
 
Serveri poolel sobib kasutada sellist seadistusfaili bridge režiimis
 
  # cat /etc/openvpn/openvpn.conf
  local 10.0.10.251
  port 1194
  proto udp
  dev-type tap
  dev tun0
  ca keys/ca.crt
  cert keys/server.crt
  key keys/server.key
  dh keys/dh1024.pem
  server-bridge 172.16.0.254 255.255.255.0 172.16.0.210 172.16.0.220
  ifconfig-pool-persist /tmp/ipp.txt
  push "redirect-gateway local def1"
  keepalive 10 120
  comp-lzo
  user nobody
  group nobody
  persist-key
  persist-tun
  status /var/log/openvpn-status.log
  verb 3
 
Ning sellist seadistusfaili route režiimis
 
  # cat /etc/openvpn/openvpn.conf
  local 10.0.10.251
  port 1194
  proto udp
  dev tun0
  ca keys/ca.crt
  cert keys/server.crt
  key keys/server.key
  dh keys/dh1024.pem
  server 10.8.0.0 255.255.255.0
  ifconfig-pool-persist /tmp/ipp.txt
  push "redirect-gateway local def1"
  keepalive 10 120
  comp-lzo
  user nobody
  group nobody
  persist-key
  persist-tun
  status /var/log/openvpn-status.log
  verb 3
 
Käivitamiseks tuleb öelda
 
  # cd /etc/openvpn
  # openvpn --config openvpn.conf
 
===OpenVPN kliendi seadistamine - Debian===
 
Paigaldada pakett openvpn
 
  # apt-get install openvpn
 
OpenVPN kliendile vajalikud võtmed moodustatakse OpenVPN serveris ja kopeeritakse klienti, vajalikud on sellised failid
 
  # scp keys/sid1.crt keys/sid1.key keys/ca.crt root@192.168.50.144:/etc/openvpn
 
Kliendi poolel sobib bridge režiimis kasutada sellist seadistusfaili
 
  # cat /etc/openvpn/openvpn.conf
  client
  dev tap
  proto udp
  remote 10.0.10.251
  resolv-retry infinite
  nobind
  persist-key
  persist-tun
  ca ca.crt
  cert sid1.crt
  key sid1.key
  comp-lzo
  verb 3
 
Käivitamine toimub öeldes
 
  # cd /etc/openvpn
  # openvpn --config openvpn.conf
 
===Kasulikud materjalid===
 
* http://www.openvpn.org/
* http://blog.innerewut.de/2005/07/04/openvpn-2-0-on-openbsd

Viimane redaktsioon: 8. august 2012, kell 15:00

Kasutades avalikku ebaturvalist võrku võimaldab virtuaalne privaatvõrk (ingl. k. Virtual Private Network, VPN) korraldada osaliste arvutite ja alamvõrkude vahel turvalist andmevahetust. Reeglina osaleb VPN lahenduses enam kui kaks osapoolt või vähemalt tehnoloogiliselt see on võimalik. Virtuaalne privaatvõrk esineb kas etherneti (layer 2) või ip kihis (layer 3), mis tähendab, et virtuaalses privaatvõrgus omavahel suhtlevate rakenduste jaoks on põhimõtteliselt VPN olemasolu läbipaistev. VPN'i eeliseks muude turvalist suhtlemist võimaldavate lahenduste (nt tcp ühenduse tasemel toimuv ssh abil tehtav pordi suunamine) ees on, et rakendusi ei tule kuidagi spetsiifiliselt ette valmistada või seadistada ning andmevahetuse aluseks saab kasutada nn tavalist avalikku võrku ehk internetti, mille kasutamine on iseenesest suhteliselt odav. VPN ühendusega kaasnevat kanalit üle avaliku võrgu kahe otspunkti vahel nimetatakse tunneliks.

Võrreldes muude VPN lahendustega on OpenVPN tarkvarale iseloomulik

  • turvaline - kasutab SSL/TLS vahendeid ja töötab nö user-space'is erinevalt IPSec'ist, mis töötab kernel-space'is
  • lihtne kasutada - toetab rohkelt erinevaid platvorme (Linux, BSD, Windows, MacOSX) ning on reeglina olemas paketihalduses
  • funktsionaalne - nt võimaldab moodustada VPN lahendust etherneti ja ip kihis, praktiliselt sisaldab IPSec'iga samaväärseid võimalusi
  • paindlik - kuna OpenVPN kasutab andmevahetuseks UDP protokolli, siis ei ole probleemiks nt NAT seadmete läbimine; aga OpenVPN serveri võib seadistada käima ka nt 443/tcp pordil
  • vaba tarkvara - arendus toimub James Yonan'i eestvedamisel, http://openvpn.org/
  • VPNiga seotud seadmete MTU on 1500 baiti, st ip paketi sees on kasutada 1480 baiti (erinevalt nt IPSec lahendusest kus paketi sees on kasutada vähem)

Kuutõrvajas on OpenVPN tarkvara kasutusjuhendid jaotatud erinevateks tekstideks lähtudes kasutusjuhtudest, kusjuures OpenVPN kliendi platvormist ei sõltu oluliselt tema edukus serveriga suhtlemisel.

Serverid

Kliendid

Muud üldised tekstid

Abiks olevat materjal

  • Sertifikaadid Sertifitseerimiskeskuse loomine ja sertifikaadi kinnitamine

http://wiki.debian.org/OpenVPN