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.