Erinevus lehekülje "OpenVPN" redaktsioonide vahel

Allikas: Kuutõrvaja
(Sissejuhatus)
 
(ei näidata 3 kasutaja 83 vahepealset redaktsiooni)
1. rida: 1. rida:
===Sissejuhatus===
+
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.
 
 
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 ees on (nt tcp ühenduse tasemel toimuv ssh abil tehtav pordi suunamine), 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
 
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
 
* 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
+
* 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
 
* 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
+
* 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/
 
* 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)
  
Käesolevas tekstis kirjeldatakse OpenVPN kasutamist eesmärgiga seada käima turvaline ühendus ühe keskse OpenBSD arvuti ja ühe või mitme Debian arvuti vahel. Antud palas kirjeldatud asjakorraldust võiks ette kujutada selliselt, et OpenBSD juures töötab OpenVPN server režiimis ning Debianil klient režiimis, kusjuures klient saab ligi OpenBSD külge ühendatud võrkudele sh avalikule võrgule. Samas, käesolev tekst peaks andma piisavalt üldise ja samas detailse käsitluse, mida saab kasutaja varieerida omale sobiva lahenduse moodustamiseks.
+
Kuutõrvajas on OpenVPN tarkvara kasutusjuhendid jaotatud erinevateks tekstideks lähtudes kasutusjuhtudest, kusjuures OpenVPN kliendi platvormist ei sõltu oluliselt tema edukus serveriga suhtlemisel.
 
 
Kuna andmevahetuse krüptimisel kasutatakse sertifikaate, siis OpenVPN tarkvaraga koos jagatakse ka pisikest CA tarkvara, mis lihtsustab sertifikaatide haldust.
 
 
 
OpenVPN kasutamisel on oluline, et osalevate arvutite kellaajad oleksid õiged, alates sertifikaatide moodustamisest.
 
 
 
===Ruuditud ja sillatud ühendused===
 
 
 
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.
 
 
 
tun/tap seade võib töötada kahes kihis võimaldades kahte erinevat OpenVPN kasutusjuhtu
 
 
 
* ruuditud ühendus - tun/tap seade töötab ip kihis (layer 3), Linuxi puhul tun seade; andmevahetuses osalevate arvutite ip aadressid on jaotatud erinevatesse ip subnettide vahel
 
* sillatud ühendus - tun/tap seade töötab etherneti kihis (layer 2), Linuxi puhul tap seade; andmevahetuses osalevad arvutid asuvad samas ip subnetis
 
 
 
====Ruuditud ühendust kirjeldab selline skeem====
 
 
 
              -------|-------- wire - 192.168.3.0/24 -----
 
                      |
 
                      | 
 
                    __|__ em0 192.168.3.254/24
 
                  |    |
 
        TUVIKE    |    |  tulemüür, tun0: 10.8.0.1 <--- P2P ---> 10.8.0.2
 
                  |_____|
 
                      |  fxp0 172.16.2.1/28
 
                      |
 
                     
 
                  internet             
 
 
 
                      |
 
                      |    172.16.5.15/30
 
                    __|__
 
                  |    | 
 
        KALAKE    |    |  nö üksik arvuti
 
                  |_____|
 
                            tun0: 10.8.0.2 <--- P2P ---> 10.8.0.1
 
 
 
OpenVPN tulemusena moodustub mõlemasse arvutisse ruutivas režiimis tun seade (st point-to-point), mille ühest otsast saab pöörduda teise otsa poole. Lisaks saab läbi selliselt moodustatud ühenduse ruutida ka alamvõrke, näiteks
 
 
 
* Kui Kalake OpenVPN klienida lisab oma ruutingutableisse, et 192.168.3.0/24 võrgu lüüsiks on 10.8.0.1, siis saab ta suhelda Tuvikese taga olevate arvutitega üle OpenVPN ühenduse.
 
* Samuti on võimalik korraldada, et Kalake ruudib lisaks muid võrke sh avalikust internetist 10.8.0.1 peale, siis toimub ka nendega suhtlemine läbi OpenVPN ühenduse; põhimõtteliselt võib Kalake seada ka oma vaikelüüsiks 10.8.0.1, kuid siis peab kalake jätma oma ruutingutabelisse mõne erandi, et see ühendus üle avaliku interneti punktide 172.16.5.15 ja 172.16.2.1 vahel üle mille käib OpenVPN tunnel ise alles jääks.
 
 
 
Ruuditud ühenduse puhul paistab Tuvikesele ja sealtkaudu ligipääsetavatele arvutitele Kalakese ip aadressiks 10.8.0.2.
 
 
 
====Sillatud ühendust kirjeldab selline skeem====
 
 
 
              -------|-------- wire - 192.168.3.0/24 -----
 
                      |
 
                      | 
 
                    __|__ em0 192.168.3.254/24
 
                  |    |
 
        TUVIKE    |    |  tulemüür, bridge0: ip aadressi ei ole, tun0 ja em0 on sillaga kokku ühendatud
 
                  |_____|
 
                      |  fxp0 172.16.2.1/28
 
                      |
 
                     
 
                  internet             
 
 
 
                      |
 
                      |    172.16.5.15/30
 
                    __|__
 
                  |    | 
 
        KALAKE    |    |  nö üksik arvuti
 
                  |_____|
 
                            tap0: Tuvikese OpenVPN serveri poolt omistatud mac aadress ja ip aadress
 
 
 
Sillatud režiimi puhul omistab Tuvikeses töötav OpenVPN Kalakese tun seadmele genereeritud mac aadressi ning 192.168.3.0/24 võrgust IP aadressi. Kalakese tap0 seade on üle tuvikese tun0 ja em0 seadmetest moodustatud silla ühendatud 192.168.3.0/24 võrku.
 
 
 
Seda kui palju Kalakesest väljuvat liiklust käib otse avalikku võrku läbi füüsilise seadme ja kui palju liigub läbi tunneli saab korraldada Kalakese ruutingutabli abil. Näiteks, et 10.0.100.0/24 võrgu suhtlemine toimuks läbi Tuvikese tuleb öelda Kalakeses
 
 
 
  # route add -net 10.0.100.0 netmask 255.255.255.0 gw 192.168.3.254
 
 
 
===OpenVPN tarkvara paigaldamine===
 
 
 
Käesolevas tekstis kirjeldatakse OpenVPN tarkvara versioon 2.0 kasutamist.
 
 
 
Debianile tuleb paigaldada pakett openvpn
 
 
 
  # apt-get install openvpn
 
 
 
Käesoleva punkti edasine jutt puudutab OpenBSD poolt, mis on OpenVPN serveriks, seal moodustatakse kasutatavad sertifikaadid ja jaotatakse OpenVPN klientidele laiali.
 
 
 
OpenBSD arvutil paigaldada pakett openvpn
 
 
 
  # pkg_add openvpn
 
 
 
===OpenVPN ruuditud ühenduse katsetamine===
 
 
 
Selleks, et veenduda, et arvutitesse on OpenVPN tarkvara paigaldamine õnnestunud sh virtuaalsete seadmete jaoks on olemas vajalikud tuumamoodulid ning osaliste versioonid omavahel sobivad.
 
 
 
====Krüptimata ühendus====
 
 
 
Lihtsamal juhul, kus andmevahetust ei krüptita pole vaja midagi ettevalmistada, vajalikud parameetrid näidatakse käsureal öeldes Tuvikeses
 
 
 
  tuvike-openbsd# openvpn --remote 172.16.5.15 --dev tun0 --ifconfig 10.8.0.1 10.8.0.2 --verb 3
 
  Sat Jul 26 12:43:33 2008 OpenVPN 2.0.9 i386-unknown-openbsd4.3 [SSL] [LZO] built on Mar 13 2008
 
  Sat Jul 26 12:43:33 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.  0-beta16 and earlier used 5000 as the default port.
 
  Sat Jul 26 12:43:33 2008 ******* WARNING *******: all encryption and authentication features disabled -- all data will be tunnelled as cleartext
 
  Sat Jul 26 12:43:33 2008 /sbin/ifconfig tun0 destroy
 
  Sat Jul 26 12:43:33 2008 /sbin/ifconfig tun0 create
 
  Sat Jul 26 12:43:33 2008 NOTE: Tried to delete pre-existing tun/tap instance -- No Problem if failure
 
  Sat Jul 26 12:43:33 2008 /sbin/ifconfig tun0 10.8.0.2 10.8.0.1 mtu 1500 netmask 255.255.255.255 up
 
  Sat Jul 26 12:43:33 2008 TUN/TAP device /dev/tun0 opened
 
  Sat Jul 26 12:43:33 2008 Data Channel MTU parms [ L:1500 D:1450 EF:0 EB:4 ET:0 EL:0 ]
 
  Sat Jul 26 12:43:33 2008 Local Options hash (VER=V4): '08b6a7d0'
 
  Sat Jul 26 12:43:33 2008 Expected Remote Options hash (VER=V4): '7d01953d'
 
  Sat Jul 26 12:43:33 2008 UDPv4 link local (bound): [undef]:1194
 
  Sat Jul 26 12:43:33 2008 UDPv4 link remote: 172.16.5.15:1194
 
  Sat Jul 26 12:43:43 2008 Peer Connection Initiated with 172.16.5.15:1194
 
  Sat Jul 26 12:43:44 2008 Initialization Sequence Completed
 
 
 
ning öeldes Kalakeses
 
 
 
  kalake-debian# openvpn --remote 172.16.2.1 --dev tun0 --ifconfig 10.8.0.2 10.8.0.1 --verb 3
 
  Sat Jul 26 12:44:34 2008 OpenVPN 2.1_rc7 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] built on Jun 16 2008
 
  Sat Jul 26 12:44:34 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
 
  Sat Jul 26 12:44:34 2008 ******* WARNING *******: all encryption and authentication features disabled -- all data will be tunnelled as cleartext
 
  Sat Jul 26 12:44:34 2008 TUN/TAP device tun0 opened
 
  Sat Jul 26 12:44:34 2008 TUN/TAP TX queue length set to 100
 
  Sat Jul 26 12:44:34 2008 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
 
  Sat Jul 26 12:44:34 2008 Data Channel MTU parms [ L:1500 D:1450 EF:0 EB:4 ET:0 EL:0 ]
 
  Sat Jul 26 12:44:34 2008 Local Options hash (VER=V4): '7d01953d'
 
  Sat Jul 26 12:44:34 2008 Expected Remote Options hash (VER=V4): '08b6a7d0'
 
  Sat Jul 26 12:44:34 2008 Socket Buffers: R=[109568->131072] S=[109568->131072]
 
  Sat Jul 26 12:44:34 2008 UDPv4 link local (bound): [undef]:1194
 
  Sat Jul 26 12:44:34 2008 UDPv4 link remote: 172.16.2.1:1194
 
  Sat Jul 26 12:44:40 2008 Peer Connection Initiated with 172.16.2.1:1194
 
  Sat Jul 26 12:44:40 2008 Initialization Sequence Completed
 
 
 
Kummassegi arvutiss moodustatakse automaatselt tun seade ning seadistatakse vastavalt käsureal näidatud parameetritele, OpenBSD poolel
 
 
 
  tuvike-openbsd# ifconfig tun0
 
  tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
 
        groups: tun
 
        inet 10.8.0.1 --> 10.8.0.2 netmask 0xffffffff
 
 
 
ning Debiani poolel
 
 
 
  kalake-debian# ifconfig tun0
 
  tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
 
            inet addr:10.8.0.2  P-t-P:10.8.0.1  Mask:255.255.255.255
 
            UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
 
            RX packets:31 errors:0 dropped:0 overruns:0 frame:0
 
            TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
 
            collisions:0 txqueuelen:100
 
            RX bytes:4604 (4.4 KiB)  TX bytes:5508 (5.3 KiB)
 
 
 
Ühenduse kontrollimisel peab saama teise arvutisse üle võrgu ligi, nt pingida või ssh abil sisse logida pöördudes tunneli teise otsa aadressiga. Millegipärast OpenBSD poolel ei saa nö omapoolse otsa poole pöörduda, aga praktiliselt ei ole see ka oluline.
 
 
 
====Staatilise võtmega krüptitud ühendus====
 
 
 
Sarnane eelmisele, kuid ühenduse krüptimiseks kasutavad osalised ühist saladust staatilise võtme kujul. Esmalt tuleb moodustada saladus öeldes
 
 
 
  # cd /etc/openvpn
 
  # openvpn --genkey --secret saladus.key
 
 
 
Seejärel kopeerida teisele osalisele ning öelda
 
 
 
  tuvike-openbsd# openvpn --remote 172.16.5.15 --dev tun0 --ifconfig 10.8.0.1 10.8.0.2 --verb 3 --secret saladus.key
 
  kalake-debian# openvpn --remote 172.16.2.1 --dev tun0 --ifconfig 10.8.0.2 10.8.0.1 --verb 3 --secret saladus.key
 
 
 
===Sertifikaatide ettevalmistamine===
 
 
 
Lisaks krüptimita ja staatilise võtmega krüptitud ühendusele saab OpenVPNi seadistada kasutama avaliku võtme sertifikaate ja seda tulekski OpenVPNi nö tootmises kasutamisel eelistada. OpenVPN pakett sisaldab avaliku võtmega krüptimisel vajalike sertifikaatide halduseks pisikest CA programmide kompleti. Käesolevas punktis kirjeldatakse selle CA kasutamist OpenBSD platvormil, eesmärgiks on moodustada sertifikaadid ning need seejärel osa neist klientidesse kopeerida.
 
 
 
Esmalt tuleb moodustada mõned kataloogid ja failid
 
 
 
  # mkdir /etc/openvpn /etc/openvpn/keys
 
  # 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
 
 
 
  # . /usr/local/share/examples/openvpn/easy-rsa/vars
 
 
 
Seejärel tuleb genereerida sertifikaadid
 
 
 
* 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) []:ca.loomaaed.tartu.ee
 
  Email Address [me@myhost.mydomain]: ca@ca.loomaaed.tartu.ee
 
  ..
 
 
 
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:'tuvike.loomaaed.tartu.ee'
 
  emailAddress          :IA5STRING:'ca@ca.loomaaed.tartu.ee'
 
  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
 
  ..
 
  The Subject's Distinguished Name is as follows
 
  countryName          :PRINTABLE:'EE'
 
  stateOrProvinceName  :PRINTABLE:'Tartu'
 
  localityName          :PRINTABLE:'Tartu'
 
  organizationName      :PRINTABLE:'LOOMAAED'
 
  commonName            :PRINTABLE:'kalake.loomaaed.tartu.ee'
 
  emailAddress          :IA5STRING:'ca@ca.loomaaed.tartu.ee'
 
  Certificate is to be certified until Jul 23 18:11:25 2018 GMT (3650 days)
 
  Sign the certificate? [y/n]:y
 
  ..
 
 
 
Tekivad failid
 
 
 
  ./keys/kalake.key
 
  ./keys/kalake.crt
 
 
 
Süsteemi CA sertifikaat ning kliendi sertifikaat ning salajane võti tuleb kopeerida kliendi arvutisse
 
 
 
  # scp keys/kalake.crt keys/kalake.key keys/ca.crt root@kalake/etc/openvpn
 
 
 
* Diffie-Hellmani asjad
 
 
 
  # /usr/local/share/examples/openvpn/easy-rsa/build-dh
 
 
 
Tekib fail
 
 
 
  ./keys/dh1024.pem
 
 
 
===OpenVPN ruuditud lahenduse seadistamine===
 
 
 
Seadistame käima sillatud ühenduse vastavalt ülaltoodud skeemile, peale käivitamist maksab vaadata üle kliendi ruutingutabel, et andmevahetus käiks soovitud moel.
 
 
 
====OpenBSD poole seadistamine====
 
 
 
Serveri poolel sobib kasutada sellist seadistusfaili ruuditud režiimis
 
 
 
  # cat /etc/openvpn/openvpn.conf
 
  local 172.16.2.1
 
  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
 
 
 
====Debiani poole seadistamine====
 
 
 
OpenVPN kliendile vajalikud võtmed moodustatakse OpenVPN serveris ja kopeeritakse klienti nii nagu sertifikaatide punktis on öeldud.
 
 
 
Kliendi poolel sobib bridge režiimis kasutada sellist seadistusfaili
 
 
 
  remote cel.auul
 
  dev tun
 
  ifconfig 10.8.0.2 10.8.0.1
 
 
 
Käivitamine toimub öeldes
 
 
 
  # cd /etc/openvpn
 
  # openvpn --config openvpn.conf
 
 
 
===OpenVPN sillatud lahenduse seadistamine===
 
 
 
Seadistame käima sillatud ühenduse vastavalt ülaltoodud skeemile, peale käivitamist maksab vaadata üle kliendi ruutingutabel, et andmevahetus käiks soovitud moel.
 
 
 
====OpenBSD poole seadistamine====
 
 
 
Vajalik on moodustada sild füüsilise ja tun seadme vahele, kusjuures link0 lipuga määratakse, et tun seade töötab layer 2 kihis
 
 
 
  # ifconfig bridge0 create
 
  # ifconfig tun0 link0 up
 
  # brconfig bridge0 add em0 add tun0
 
  # ifconfig bridge0 up
 
 
 
Serveri poolel sobib kasutada sellist seadistusfaili sillatud režiimis
 
 
 
  # cat /etc/openvpn/openvpn.conf
 
  local 172.16.2.1
 
  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 192.168.3.254 255.255.255.0 192.168.3.210 192.168.3.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
 
 
 
Käivitamiseks tuleb öelda
 
 
 
  # cd /etc/openvpn
 
  # openvpn --config openvpn.conf
 
 
 
====Debiani poole seadistamine====
 
  
OpenVPN kliendile vajalikud võtmed moodustatakse OpenVPN serveris ja kopeeritakse klienti, nii nagu kirjeldatud sertifikaatide punktis.
+
* [[OpenVPNi lihtsad kasutusjuhud]]
  
Kliendi poolel sobib sillatud režiimis kasutada sellist seadistusfaili
+
Serverid
  
  # cat /etc/openvpn/openvpn.conf
+
* [[:OpenVPN serveri kasutamine OpenBSD'ga]]
  client
+
* [[:OpenVPN serveri kasutamine FreeBSD'ga]]
  dev tap
+
* [[:OpenVPN serveri kasutamine Debianiga]]
  proto udp
+
* [[:OpenVPN serveri kasutamine Eesti ID-kaardiga]]
  remote 172.16.2.1
 
  resolv-retry infinite
 
  nobind
 
  persist-key
 
  persist-tun
 
  ca keys/ca.crt
 
  cert keys/kalake.crt
 
  key keys/kalake.key
 
  comp-lzo
 
  verb 3
 
  
Käivitamine toimub öeldes
+
Kliendid
  
  # cd /etc/openvpn
+
* [[:OpenVPN kliendi kasutamine OpenBSD'ga]]
  # openvpn --config openvpn.conf
+
* [[:OpenVPN kliendi kasutamine FreeBSD'ga]]
 +
* [[:OpenVPN kliendi kasutamine Debianiga]]
 +
* [[:OpenVPN kliendi kasutamine Windowsiga]]
 +
* [[:OpenVPN kliendi kasutamine MacOSX'iga]]
  
===Paketifiltri seadistamine===
+
Muud üldised tekstid
  
Kuna tun võrguseade käitub operatsioonisüsteemi suhtes tavalise võrguseadmena, siis tuleb paketifiltri seadistamisel arvestada asjaolusid ning kirjutada reeglid tavalisel moel. Tun seadmel on liiklus kürptimata st sobiv koht debugimiseks.
+
* [[:OpenVPN ja nimesüsteem]]
 +
* [[:OpenVPN serveri haldusliides]]
 +
* [[:Märkused OpenVPN kasutamise kohta]]
  
===Märkused===
+
Abiks olevat materjal
  
* Kui on vajalik pidada OpenVPN serveri Debiani peal, siis CA pidamiseks sobib kasutada kataloogis /usr/share/doc/openvpn/examples/easy-rsa/2.0 asuvaid programme.
+
* [[:Sertifikaadid]] Sertifitseerimiskeskuse loomine ja sertifikaadi kinnitamine
* Deemon režiimis käivitamiseks tuleb kasutada --daemon võtit.
 
  
===Kasulikud materjalid===
+
* http://wiki.itcollege.ee/index.php/VPN_seadistamine_OpenVPN-iga
  
* http://www.openvpn.org/
+
http://wiki.debian.org/OpenVPN
* 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