Erinevus lehekülje "OpenVPN" redaktsioonide vahel

Allikas: Kuutõrvaja
(OpenVPN serveri seadistamine - OpenBSD)
 
(ei näidata 3 kasutaja 141 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)
 
  
Kuna andmevahetuse krüptimisel kasutatakse sertifikaate, siis OpenVPN tarkvaraga koos jagatakse ka pisikest CA tarkvara, millega on mõnus sertifikaate hallata.
+
Serverid
  
OpenVPN kasutamisel on oluline, et osalevate arvutite kellaajad oleksid õiged, alates sertifikaatide moodustamisest.
+
* [[:OpenVPN serveri kasutamine OpenBSD'ga]]
 +
* [[:OpenVPN serveri kasutamine FreeBSD'ga]]
 +
* [[:OpenVPN serveri kasutamine Debianiga]]
 +
* [[:OpenVPN serveri kasutamine Eesti ID-kaardiga]]
  
===OpenVPN tarkvara paigaldamine ning sertifikaatide ettevalmistamine - OpenBSD===
+
Kliendid
  
Paigalda pakett openvpn
+
* [[:OpenVPN kliendi kasutamine OpenBSD'ga]]
 +
* [[:OpenVPN kliendi kasutamine FreeBSD'ga]]
 +
* [[:OpenVPN kliendi kasutamine Debianiga]]
 +
* [[:OpenVPN kliendi kasutamine Windowsiga]]
 +
* [[:OpenVPN kliendi kasutamine MacOSX'iga]]
  
  # pkg_add openvpn
+
Muud üldised tekstid
  
Seejärel tuleb moodustada mõned kataloogid ja failid
+
* [[:OpenVPN ja nimesüsteem]]
 +
* [[:OpenVPN serveri haldusliides]]
 +
* [[:Märkused OpenVPN kasutamise kohta]]
  
  # mkdir /etc/openvpn /etc/openvpn/keys
+
Abiks olevat materjal
  # 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
+
* [[:Sertifikaadid]] Sertifitseerimiskeskuse loomine ja sertifikaadi kinnitamine
  
  # . /usr/local/share/examples/openvpn/easy-rsa/vars
+
* http://wiki.itcollege.ee/index.php/VPN_seadistamine_OpenVPN-iga
  
Seejärel tuleb genereerida sertifikaadid
+
http://wiki.debian.org/OpenVPN
 
 
* Süsteemi CA sertifikaat
 
 
 
  # cd /etc/openvpn/keys
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-ca
 
 
 
Oluline on, et CA ja järgneval serveri sertifikaadil oleks sama organisatsiooni nimi, sisestage mõistlikud andmed, näiteks
 
 
 
  ...
 
  Country Name (2 letter code) [KG]:EE
 
  State or Province Name (full name) [NA]:Tartu
 
  Locality Name (eg, city) [BISHKEK]:Tartu
 
  Organization Name (eg, company) [OpenVPN-TEST]:LOOMAAED
 
  Organizational Unit Name (eg, section) []:
 
  Common Name (eg, your name or your server's hostname) []:aix.loomaaed.tartu.ee
 
  Email Address [me@myhost.mydomain]:
 
  ..
 
 
 
Tekivad failid
 
 
 
  keys/ca.key
 
  keys/ca.crt
 
 
 
* OpenVPN serveri sertifikaat
 
 
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-key-server server
 
  ...
 
  The Subject's Distinguished Name is as follows
 
  countryName          :PRINTABLE:'EE'
 
  stateOrProvinceName  :PRINTABLE:'Tartu'
 
  localityName          :PRINTABLE:'Tartu'
 
  organizationName      :PRINTABLE:'LOOMAAED'
 
  commonName            :PRINTABLE:'tuler.loomaaed.tartu.ee'
 
  emailAddress          :IA5STRING:'me@myhost.mydomain'
 
  Certificate is to be certified until Jul 23 18:03:58 2018 GMT (3650 days)
 
  Sign the certificate? [y/n]:y
 
  ..
 
 
 
Tekivad failid
 
 
 
  ./keys/server.key
 
  ./keys/server.crt
 
 
 
* OpenVPN kliendi sertifikaat
 
 
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-key emmija
 
  ..
 
  The Subject's Distinguished Name is as follows
 
  countryName          :PRINTABLE:'EE'
 
  stateOrProvinceName  :PRINTABLE:'Tartu'
 
  localityName          :PRINTABLE:'Tartu'
 
  organizationName      :PRINTABLE:'AUUL'
 
  commonName            :PRINTABLE:'emmija.loomaaed.tartu.ee'
 
  emailAddress          :IA5STRING:'me@myhost.mydomain'
 
  Certificate is to be certified until Jul 23 18:11:25 2018 GMT (3650 days)
 
  Sign the certificate? [y/n]:y
 
  ..
 
 
 
Tekivad failid
 
 
 
  ./keys/emmija.key
 
  ./keys/emmija.crt
 
 
 
* Diffie-Hellmani ajad
 
 
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-dh
 
 
 
Tekivad failid
 
 
 
  ./keys/dh1024.pem
 
 
 
===OpenVPN bridge lahenduse seadistamine===
 
 
 
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 18: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