OpenVPN používa na šifrovanie VPN komunikácie medzi stanicami infraštruktúru verejného kľúča – Public Key Infrastructure (PKI). Jednoduchý spôsob ako sa dá nastaviť VPN pomocou OpenVPN je nastavenie klientského pripojenia cez premostené sieťové rozhranie na VPN serveri. V tomto návode budeme predpokladať, že jedna VPN stanica, v našom prípade server, má nastavené premostené rozhranie. Viac informácii o nastavovaní premostenia sa dozviete v časti Premostenie.
Systém openvpn nainštalujeme zadaním:
sudo apt-get install openvpn
Teraz, keď je už balík openvpn nainštalovaný, je potrebné vytvoriť certifikáty pre VPN server.
Najskôr skopírujeme easy-rsa do priečinka /etc/openvpn.
Tým zaistíme, že sa nám nestratia žiadne zmeny v skripte, keď
pri aktualizácii stiahneme novšiu verziu balíka. Potrebné je tiež
pre priečinok easy-rsa nastaviť správne oprávnenia,
aby v ňom používatelia mohli vytvárať súbory. V príkazovom riadku
zadáme:
sudo mkdir /etc/openvpn/easy-rsa/ sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/ sudo chown -R $USER/etc/openvpn/easy-rsa/
Potom otvoríme súbor /etc/openvpn/easy-rsa/vars
a nastavíme nasledujúce hodnoty:
export KEY_COUNTRY="SK" export KEY_PROVINCE="" export KEY_CITY="Bratislava" export KEY_ORG="Mrkva a syn s.r.o." export KEY_EMAIL="stefan@nieco.sk"
Nasledujúcimi príkazmi vytvoríme certifikáty:
cd /etc/openvpn/easy-rsa/easy-rsa
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
cd keys
openvpn --genkey --secret ta.key
sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/
VPN klient tiež potrebuje certifikáty aby sa vedel autentifikovať na serveri. Certifikát vytvoríme zadaním nasledujúcich príkazov:
cd /etc/openvpn/easy-rsa/
source vars
./pkitool nazov_stanice
|
Nahraďte nazov_stanice názvom stanice, ktorá sa bude pripájať do VPN. |
|---|
Nasledujúce súbory prekopírujte na klientskú stanicu:
/etc/openvpn/easy-rsa/nazov_stanice.ovpn
/etc/openvpn/easy-rsa/ca.crt
/etc/openvpn/easy-rsa/nazov_stanice.crt
/etc/openvpn/easy-rsa/nazov_stanice.key
/etc/openvpn/easy-rsa/ta.key
|
Nezabudnite zmeniť názvy súborov na názov stanice miesto hostname. |
|---|
Na kopírovanie súborov s certifikátmi a kľúčmi je najvhodnejšie použiť bezpečnú metódu. Na tento účel je vhodný nástroj scp, ale môžete tiež súbory prekopírovať na prenosné médium a z neho potom na klienta.
Teraz nakonfigurujeme openvpn
server pomocou konfiguračného súboru /etc/openvpn/server.conf,
ktorý skopíruje z ukážkového súboru. V príkazovom riadku zadáme:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
Súbor /etc/openvpn/server.conf otvoríme,
a zmeníme nasledujúce nastavenia:
local 172.18.100.101 dev tap0 server-bridge 172.18.100.101 255.255.255.0 172.18.100.105 172.18.100.200 push "route 172.18.100.1 255.255.255.0" push "dhcp-option DNS 172.18.100.20" push "dhcp-option DOMAIN nieco.sk" tls-auth ta.key 0 # This file is secret user nobody group nogroup
local: je IP adresa premosteného rozhrania.
server-bridge: je potrebné ak konfigurácia používa premostenie. Adresy 172.18.100.101 255.255.255.0 definujú premostené rozhranie a jeho sieťovú masku. Rozsah IP adries 172.18.100.105 172.18.100.200 je rozsah IP adries, ktoré môžu byť pridelené klientom.
push: sú pokyny na pridanie sieťových nastavení pre klienta.
user a group: definujú, pod ktorým používateľom a skupinou sa spustí démon openvpn.
|
Všetky IP adresy a názov domény zmeňte podľa potrieb vašej siete. |
|---|
Potom vytvoríme dva pomocné skripty, ktoré pridajú rozhranie tap
do premostenia. Vytvoríme /etc/openvpn/up.sh:
#!/bin/sh BR=$1 DEV=$2 MTU=$3 /sbin/ifconfig $DEV mtu $MTU promisc up /usr/sbin/brctl addif $BR $DEV
a /etc/openvpn/down.sh:
#!/bin/sh BR=$1 DEV=$2 /usr/sbin/brctl delif $BR $DEV /sbin/ifconfig $DEV down
Potom ich nastavíme ako spustiteľné:
sudo chmod 755 /etc/openvpn/down.sh
sudo chmod 755 /etc/openvpn/up.sh
Po nakonfigurovaní servera reštartujeme openvpn:
sudo /etc/init.d/openvpn restart
Najskôr na klientovi nainštalujeme openvpn:
sudo apt-get install openvpn
Po
nakonfigurovaní servera a prekopírovaní certifikátov na klienta,
vytvoríme klientský konfiguračný súbor, skopírovaním súboru s príkladom
do priečinka /etc/openvpn/. V príkazovom riadku
na klientskej stanici zadáme:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn
Teraz otvoríme súbor /etc/openvpn/client.conf
a zmeníme nasledujúce nastavenia:
dev tap remote vpn.nieco.sk 1194 cert nazov_stanice.crt key nazov_stanice.key tls-auth ta.key 1
|
Adresu vpn.nieco.sk nahraďte názvom stanice VPN servera, a nazov_stanice.* nahraďte aktuálnymi menami súborov s certifikátmi a kľúčmi. |
|---|
Nakoniec reštartujte openvpn:
sudo /etc/init.d/openvpn restart
Teraz by sa malo dať pripojiť do vzdialenej LAN siete cez VPN.
Viac informácií sa nachádza na stránke OpenVPN.
Dobrý zdroj je tiež OpenVPN: Building and Integrating Virtual Private Networks.
Ďalším zdrojom užitočných informácií je stránka Ubuntu Wiki OpenVPN.