Ero sivun ”Openvpn” versioiden välillä
(Tämä versio merkittiin käännettäväksi) |
|||
Rivi 5: | Rivi 5: | ||
'' | '' | ||
+ | <!--T:39--> | ||
OpenVPN on avoimella lähdekoodilla toimiva VPN. Tämä on yksi maailman turvallisimmista VPN protokollista. OpenVPN eroaa muista VPN protokollista, että vaatii erillisen asiakasohjelman muodostaakseen yhteyden palvelimeen. | OpenVPN on avoimella lähdekoodilla toimiva VPN. Tämä on yksi maailman turvallisimmista VPN protokollista. OpenVPN eroaa muista VPN protokollista, että vaatii erillisen asiakasohjelman muodostaakseen yhteyden palvelimeen. | ||
− | == Asennus == | + | == Asennus == <!--T:40--> |
+ | <!--T:41--> | ||
Asenna OpenVPN paketti pakettihallinnasta palvelin ja asiakaslaitteille. Windowssille löytyy erillinen paketti [https://openvpn.net/index.php/open-source/downloads.html täältä]. | Asenna OpenVPN paketti pakettihallinnasta palvelin ja asiakaslaitteille. Windowssille löytyy erillinen paketti [https://openvpn.net/index.php/open-source/downloads.html täältä]. | ||
− | aptitude install openvpn | + | <!--T:42--> |
+ | aptitude install openvpn | ||
− | == Konfigurointi == | + | == Konfigurointi == <!--T:43--> |
− | === Sertifikaatit === | + | === Sertifikaatit === <!--T:44--> |
+ | <!--T:45--> | ||
Asennuksen jälkeen sinun tulee kopioida oletushakemistosta tiedostoja jotta palvelin voi lukea niitä | Asennuksen jälkeen sinun tulee kopioida oletushakemistosta tiedostoja jotta palvelin voi lukea niitä | ||
− | cp -r /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn | + | <!--T:46--> |
+ | cp -r /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn | ||
+ | <!--T:47--> | ||
Tämän jälkeen siirrytään generoimaan RSA avaimet VPN palvelua varten. | Tämän jälkeen siirrytään generoimaan RSA avaimet VPN palvelua varten. | ||
− | cd /etc/openvpn/easy-rsa/2.0/ | + | <!--T:48--> |
+ | cd /etc/openvpn/easy-rsa/2.0/ | ||
+ | <!--T:49--> | ||
Muokkaa tämän jälkeen vars tiedostoa | Muokkaa tämän jälkeen vars tiedostoa | ||
− | nano /etc/openvpn/easy-rsa/2.0/vars | + | <!--T:50--> |
+ | nano /etc/openvpn/easy-rsa/2.0/vars | ||
+ | <!--T:51--> | ||
vars - tiedostossa muuta export KEY_SIZE 1024 -> 2048 | vars - tiedostossa muuta export KEY_SIZE 1024 -> 2048 | ||
+ | <!--T:52--> | ||
<pre> | <pre> | ||
# Increase this to 2048 if you | # Increase this to 2048 if you | ||
Rivi 41: | Rivi 52: | ||
</pre> | </pre> | ||
+ | <!--T:53--> | ||
Voit halutessasi kirjoittaa valmiiksi konfiguroinnit tähän tiedostoon. | Voit halutessasi kirjoittaa valmiiksi konfiguroinnit tähän tiedostoon. | ||
+ | <!--T:54--> | ||
Tallenna ja sulje tiedosto sekä käynnistä openvpn palvelu uudelleen | Tallenna ja sulje tiedosto sekä käynnistä openvpn palvelu uudelleen | ||
− | service openvpn restart | + | <!--T:55--> |
+ | service openvpn restart | ||
+ | <!--T:56--> | ||
Määritetään konfigurointitiedosto ./vars ja tyhjennetään vanhat avaimet | Määritetään konfigurointitiedosto ./vars ja tyhjennetään vanhat avaimet | ||
− | source ./vars | + | <!--T:57--> |
+ | source ./vars | ||
− | ./clean-all | + | <!--T:58--> |
+ | ./clean-all | ||
− | ==== Root sertifikaatti ==== | + | ==== Root sertifikaatti ==== <!--T:59--> |
+ | <!--T:60--> | ||
Luodaan root sertifikaatti | Luodaan root sertifikaatti | ||
− | ./build-ca | + | <!--T:61--> |
+ | ./build-ca | ||
+ | <!--T:62--> | ||
Tämän jälkeen vastaa ohjattuun velhoon: | Tämän jälkeen vastaa ohjattuun velhoon: | ||
+ | <!--T:63--> | ||
<pre> | <pre> | ||
Generating a 2048 bit RSA private key | Generating a 2048 bit RSA private key | ||
Rivi 84: | Rivi 105: | ||
</pre> | </pre> | ||
− | ==== Palvelin sertifikaatti ==== | + | ==== Palvelin sertifikaatti ==== <!--T:64--> |
+ | <!--T:65--> | ||
Sertifikaatin genroimisen jälkeen luodaan privaattiavain palvelimelle. Muuta vpn.taisto.org vastaamaan palvelimesi nimeä. | Sertifikaatin genroimisen jälkeen luodaan privaattiavain palvelimelle. Muuta vpn.taisto.org vastaamaan palvelimesi nimeä. | ||
− | ../build-key-server vpn.taisto.org | + | <!--T:66--> |
+ | ../build-key-server vpn.taisto.org | ||
+ | <!--T:67--> | ||
Tämän jälkeen vastaa jälleen seuraa velhoa | Tämän jälkeen vastaa jälleen seuraa velhoa | ||
+ | <!--T:68--> | ||
<pre> | <pre> | ||
Generating a 2048 bit RSA private key | Generating a 2048 bit RSA private key | ||
Rivi 114: | Rivi 139: | ||
Email Address [[email protected]]:[email protected] | Email Address [[email protected]]:[email protected] | ||
+ | <!--T:69--> | ||
Please enter the following 'extra' attributes | Please enter the following 'extra' attributes | ||
to be sent with your certificate request | to be sent with your certificate request | ||
Rivi 134: | Rivi 160: | ||
+ | <!--T:70--> | ||
1 out of 1 certificate requests certified, commit? [y/n]y | 1 out of 1 certificate requests certified, commit? [y/n]y | ||
Write out database with 1 new entries | Write out database with 1 new entries | ||
Rivi 139: | Rivi 166: | ||
</pre> | </pre> | ||
+ | <!--T:71--> | ||
Generoi Diffie Helman key exhange parametri. Tässä menee hetki. | Generoi Diffie Helman key exhange parametri. Tässä menee hetki. | ||
− | ./build-dh | + | <!--T:72--> |
+ | ./build-dh | ||
− | ==== Asiakas sertifikaatti ==== | + | ==== Asiakas sertifikaatti ==== <!--T:73--> |
+ | <!--T:74--> | ||
Nyt luodaan OpenVPN asiakkaille sertifikaatti. Jokaisella asiakkaalla tulee olla oma sertifikaatti. Muuta client vastaamaan asiakkaan isäntänimeä. | Nyt luodaan OpenVPN asiakkaille sertifikaatti. Jokaisella asiakkaalla tulee olla oma sertifikaatti. Muuta client vastaamaan asiakkaan isäntänimeä. | ||
− | ./build-key client | + | <!--T:75--> |
+ | ./build-key client | ||
+ | <!--T:76--> | ||
<pre> | <pre> | ||
Generating a 2048 bit RSA private key | Generating a 2048 bit RSA private key | ||
Rivi 171: | Rivi 203: | ||
Email Address [[email protected]]:[email protected] | Email Address [[email protected]]:[email protected] | ||
+ | <!--T:77--> | ||
Please enter the following 'extra' attributes | Please enter the following 'extra' attributes | ||
to be sent with your certificate request | to be sent with your certificate request | ||
Rivi 191: | Rivi 224: | ||
+ | <!--T:78--> | ||
1 out of 1 certificate requests certified, commit? [y/n]y | 1 out of 1 certificate requests certified, commit? [y/n]y | ||
Write out database with 1 new entries | Write out database with 1 new entries | ||
Rivi 196: | Rivi 230: | ||
</pre> | </pre> | ||
+ | <!--T:79--> | ||
Kopioi Root, palvelin sekä DH param sertifikaatti tiedostot OpenVPN root hakemistoon: | Kopioi Root, palvelin sekä DH param sertifikaatti tiedostot OpenVPN root hakemistoon: | ||
+ | <!--T:80--> | ||
<pre> | <pre> | ||
cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn | cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn | ||
Rivi 206: | Rivi 242: | ||
</pre> | </pre> | ||
− | ==== Kumoa sertifikaatti ==== | + | ==== Kumoa sertifikaatti ==== <!--T:81--> |
+ | <!--T:82--> | ||
Seuraavilla komennoilla voit kumota käyttäoikeuden palvelimeen. Muuta client1 nimeä asiakasnimeksi minkä oikeuden haluat peruuttaa. | Seuraavilla komennoilla voit kumota käyttäoikeuden palvelimeen. Muuta client1 nimeä asiakasnimeksi minkä oikeuden haluat peruuttaa. | ||
− | . /etc/openvpn/easy-rsa/2.0/vars | + | <!--T:83--> |
+ | . /etc/openvpn/easy-rsa/2.0/vars | ||
. /etc/openvpn/easy-rsa/2.0/revoke-full client1 | . /etc/openvpn/easy-rsa/2.0/revoke-full client1 | ||
− | === Palvelimen konfigurointi === | + | === Palvelimen konfigurointi === <!--T:84--> |
+ | <!--T:85--> | ||
Pura ZIP tiedosto | Pura ZIP tiedosto | ||
− | gunzip -d /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | + | <!--T:86--> |
+ | gunzip -d /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | ||
+ | <!--T:87--> | ||
Kopioi esimerkki palvelin konfigurointi tiedosto /etc/openvpn hakemistoon | Kopioi esimerkki palvelin konfigurointi tiedosto /etc/openvpn hakemistoon | ||
− | cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn | + | <!--T:88--> |
+ | cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn | ||
+ | <!--T:89--> | ||
Sinun tulee vielä muokata server.conf tiedostossa muutama kohta ennen kuin voidaan ottaa OpenVPN palvelin käyttöön: | Sinun tulee vielä muokata server.conf tiedostossa muutama kohta ennen kuin voidaan ottaa OpenVPN palvelin käyttöön: | ||
− | nano /etc/openvpn/server.conf | + | <!--T:90--> |
+ | nano /etc/openvpn/server.conf | ||
+ | <!--T:91--> | ||
* Oikeat avain tiedostot ja niiden polku | * Oikeat avain tiedostot ja niiden polku | ||
<pre> | <pre> | ||
Rivi 248: | Rivi 293: | ||
key server.key # This file should be kept secret | key server.key # This file should be kept secret | ||
+ | <!--T:92--> | ||
# Diffie hellman parameters. | # Diffie hellman parameters. | ||
# Generate your own with: | # Generate your own with: | ||
Rivi 256: | Rivi 302: | ||
</pre> | </pre> | ||
+ | <!--T:93--> | ||
Lopuksi käynnistä VPN palvelu uudelleen | Lopuksi käynnistä VPN palvelu uudelleen | ||
− | service openvpn restart | + | <!--T:94--> |
+ | service openvpn restart | ||
− | === Asiakkaan konfigurointi === | + | === Asiakkaan konfigurointi === <!--T:95--> |
+ | <!--T:96--> | ||
Kopioi OpenVPN palvelimelta client.conf tiedosto omaan kotihakemistoon ja siirrä omalle asiakaslaitteelle | Kopioi OpenVPN palvelimelta client.conf tiedosto omaan kotihakemistoon ja siirrä omalle asiakaslaitteelle | ||
− | cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/ | + | <!--T:97--> |
+ | cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/ | ||
+ | <!--T:98--> | ||
Kopioi lisäksi ca (ca.crt) ja client sertifikaatit (client.crt) sekä privaattiavain (client.key) asiakaslaitteelle. | Kopioi lisäksi ca (ca.crt) ja client sertifikaatit (client.crt) sekä privaattiavain (client.key) asiakaslaitteelle. | ||
+ | <!--T:99--> | ||
Avaa client.conf tiedosto | Avaa client.conf tiedosto | ||
− | nano ~/client.conf | + | <!--T:100--> |
+ | nano ~/client.conf | ||
+ | <!--T:101--> | ||
Muokkaa tämä tiedosto seuraavanlaiseksi: | Muokkaa tämä tiedosto seuraavanlaiseksi: | ||
+ | <!--T:102--> | ||
* Määritä OpenVPN palvelimen osoite sekä portti, oletus 1194 | * Määritä OpenVPN palvelimen osoite sekä portti, oletus 1194 | ||
<pre> | <pre> | ||
Rivi 283: | Rivi 338: | ||
</pre> | </pre> | ||
+ | <!--T:103--> | ||
* Määritä sertifikaattien polku | * Määritä sertifikaattien polku | ||
<pre> | <pre> |
Versio 18. elokuuta 2015 kello 13.02
Ohje on työn alla
OpenVPN on avoimella lähdekoodilla toimiva VPN. Tämä on yksi maailman turvallisimmista VPN protokollista. OpenVPN eroaa muista VPN protokollista, että vaatii erillisen asiakasohjelman muodostaakseen yhteyden palvelimeen.
Sisällysluettelo
Asennus
Asenna OpenVPN paketti pakettihallinnasta palvelin ja asiakaslaitteille. Windowssille löytyy erillinen paketti täältä.
aptitude install openvpn
Konfigurointi
Sertifikaatit
Asennuksen jälkeen sinun tulee kopioida oletushakemistosta tiedostoja jotta palvelin voi lukea niitä
cp -r /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn
Tämän jälkeen siirrytään generoimaan RSA avaimet VPN palvelua varten.
cd /etc/openvpn/easy-rsa/2.0/
Muokkaa tämän jälkeen vars tiedostoa
nano /etc/openvpn/easy-rsa/2.0/vars
vars - tiedostossa muuta export KEY_SIZE 1024 -> 2048
# Increase this to 2048 if you # are paranoid. This will slow # down TLS negotiation performance # as well as the one-time DH parms # generation process. export KEY_SIZE=2048
Voit halutessasi kirjoittaa valmiiksi konfiguroinnit tähän tiedostoon.
Tallenna ja sulje tiedosto sekä käynnistä openvpn palvelu uudelleen
service openvpn restart
Määritetään konfigurointitiedosto ./vars ja tyhjennetään vanhat avaimet
source ./vars
./clean-all
Root sertifikaatti
Luodaan root sertifikaatti
./build-ca
Tämän jälkeen vastaa ohjattuun velhoon:
Generating a 2048 bit RSA private key ..+++ ..................................................+++ writing new private key to 'ca.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [US]:FI State or Province Name (full name) [CA]:Lounais-Suomi Locality Name (eg, city) [SanFrancisco]:Turku Organization Name (eg, company) [Fort-Funston]:Taistowiki Organizational Unit Name (eg, section) [changeme]:Labs Common Name (eg, your name or your server's hostname) [changeme]:vpn.taisto.org Name [changeme]:Taistowiki VPN Email Address [[email protected]]:[email protected]
Palvelin sertifikaatti
Sertifikaatin genroimisen jälkeen luodaan privaattiavain palvelimelle. Muuta vpn.taisto.org vastaamaan palvelimesi nimeä.
../build-key-server vpn.taisto.org
Tämän jälkeen vastaa jälleen seuraa velhoa
Generating a 2048 bit RSA private key .................................................+++ .............................................................+++ writing new private key to 'vpn.taisto.org.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [US]:FI State or Province Name (full name) [CA]:Lounais-Suomi Locality Name (eg, city) [SanFrancisco]:Turku Organization Name (eg, company) [Fort-Funston]:Taistowiki Organizational Unit Name (eg, section) [changeme]:Labs Common Name (eg, your name or your server's hostname) [vpn.taisto.org]: Name [changeme]:Taistowiki Email Address [[email protected]]:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'FI' stateOrProvinceName :PRINTABLE:'Lounais-Suomi' localityName :PRINTABLE:'Turku' organizationName :PRINTABLE:'Taistowiki' organizationalUnitName:PRINTABLE:'Labs' commonName :PRINTABLE:'vpn.taisto.org' name :PRINTABLE:'Taistowiki' emailAddress :IA5STRING:'[email protected]' Certificate is to be certified until Aug 15 12:00:08 2025 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated
Generoi Diffie Helman key exhange parametri. Tässä menee hetki.
./build-dh
Asiakas sertifikaatti
Nyt luodaan OpenVPN asiakkaille sertifikaatti. Jokaisella asiakkaalla tulee olla oma sertifikaatti. Muuta client vastaamaan asiakkaan isäntänimeä.
./build-key client
Generating a 2048 bit RSA private key ...................................................................................+++ ............+++ writing new private key to 'client.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [US]:FI State or Province Name (full name) [CA]:Lounais-Suomi Locality Name (eg, city) [SanFrancisco]:Turku Organization Name (eg, company) [Fort-Funston]:Taistowiki Organizational Unit Name (eg, section) [changeme]:Labs client Common Name (eg, your name or your server's hostname) [client]: Name [changeme]:Taistowiki Email Address [[email protected]]:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'FI' stateOrProvinceName :T61STRING:'\0xFFFFFFC3Lounais-Suomi' localityName :PRINTABLE:'Turku' organizationName :PRINTABLE:'Taistowiki' organizationalUnitName:PRINTABLE:'Labs client' commonName :PRINTABLE:'client' name :PRINTABLE:'Taistowiki' emailAddress :IA5STRING:'[email protected]' Certificate is to be certified until Aug 15 12:05:36 2025 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated
Kopioi Root, palvelin sekä DH param sertifikaatti tiedostot OpenVPN root hakemistoon:
cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn cp /etc/openvpn/easy-rsa/2.0/keys/ca.key /etc/openvpn cp /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem /etc/openvpn cp /etc/openvpn/easy-rsa/2.0/keys/server.crt /etc/openvpn cp /etc/openvpn/easy-rsa/2.0/keys/server.key /etc/openvpn
Kumoa sertifikaatti
Seuraavilla komennoilla voit kumota käyttäoikeuden palvelimeen. Muuta client1 nimeä asiakasnimeksi minkä oikeuden haluat peruuttaa.
. /etc/openvpn/easy-rsa/2.0/vars . /etc/openvpn/easy-rsa/2.0/revoke-full client1
Palvelimen konfigurointi
Pura ZIP tiedosto
gunzip -d /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
Kopioi esimerkki palvelin konfigurointi tiedosto /etc/openvpn hakemistoon
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn
Sinun tulee vielä muokata server.conf tiedostossa muutama kohta ennen kuin voidaan ottaa OpenVPN palvelin käyttöön:
nano /etc/openvpn/server.conf
- Oikeat avain tiedostot ja niiden polku
# SSL/TLS root certificate (ca), certificate # (cert), and private key (key). Each client # and the server must have their own cert and # key file. The server and all clients will # use the same ca file. # # See the "easy-rsa" directory for a series # of scripts for generating RSA certificates # and private keys. Remember to use # a unique Common Name for the server # and each of the client certificates. # # Any X509 key management system can be used. # OpenVPN can also use a PKCS #12 formatted key file # (see "pkcs12" directive in man page). ca ca.crt cert server.crt key server.key # This file should be kept secret # Diffie hellman parameters. # Generate your own with: # openssl dhparam -out dh1024.pem 1024 # Substitute 2048 for 1024 if you are using # 2048 bit keys. dh dh2028.pem
Lopuksi käynnistä VPN palvelu uudelleen
service openvpn restart
Asiakkaan konfigurointi
Kopioi OpenVPN palvelimelta client.conf tiedosto omaan kotihakemistoon ja siirrä omalle asiakaslaitteelle
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/
Kopioi lisäksi ca (ca.crt) ja client sertifikaatit (client.crt) sekä privaattiavain (client.key) asiakaslaitteelle.
Avaa client.conf tiedosto
nano ~/client.conf
Muokkaa tämä tiedosto seuraavanlaiseksi:
- Määritä OpenVPN palvelimen osoite sekä portti, oletus 1194
# The hostname/IP and port of the server. # You can have multiple remote entries # to load balance between the servers. remote my-server-1 1194 ;remote my-server-2 1194
- Määritä sertifikaattien polku
# SSL/TLS parms. # See the server config file for more # description. It's best to use # a separate .crt/.key file pair # for each client. A single ca # file can be used for all clients. ca ca.crt cert client.crt key client.key