OpenVPN

Az OpenVPN a nyilvános kulcsinfrastruktúrát (PKI) használja a VPN-forgalom csomópontok közti titkosítására. Az OpenVPN-t használó VPN beüzemelésére egyszerű megoldást ad a klienseknek a VPN-kiszolgáló híd csatolóján keresztüli összekapcsolása. Ez a leírás feltételezi, hogy egy VPN-csomópont, ebben az esetben a kiszolgáló, rendelkezik beállított híd csatolóval. A híd beállításával kapcsolatban lásd a „Híd” szakaszt.

Telepítés

Az openvpn csomag telepítéséhez adja ki a következő parancsot:

sudo apt-get install openvpn

Kiszolgálótanúsítványok

Az openvpn csomag telepítése után létre kell hozni a VPN kiszolgáló tanúsítványait.

Első lépésként másolja az easy-rsa könyvtárat az /etc/openvpn alá. Ez biztosítja, hogy a parancsfájlok módosításai a csomag frissítésekor sem vesznek el. Szüksége lesz az easy-rsa könyvtár jogosultságainak módosítására is a fájlok létrehozásának engedélyezéséhez az aktuális felhasználónak. Adja ki a következő parancsot:

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/

Ezután szerkessze az /etc/openvpn/easy-rsa/vars fájlt, igazítsa az alábbiakat a környezetéhez:

export KEY_COUNTRY="HU"
export KEY_PROVINCE="Budapest"
export KEY_CITY="Budapest"
export KEY_ORG="Példacég"
export KEY_EMAIL="geza@példa.hu"

A kiszolgáló tanúsítványának létrehozásához adja ki a következő parancsot:

cd /etc/openvpn/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/

Klienstanúsítványok

A VPN-kliensnek is szüksége lesz tanúsítványra a kiszolgáló felé történő hitelesítéshez. A tanúsítvány létrehozásához adja ki a következő parancsot:

cd /etc/openvpn/easy-rsa/
source vars
./pkitool gépnév
[Megjegyzés]

A gépnév helyett a VPN-hez csatlakozó gép tényleges gépnevét adja meg.

Másolja a következő fájlokat a kliensre:

  • /etc/openvpn/ca.crt

  • /etc/openvpn/easy-rsa/keys/gépnév.crt

  • /etc/openvpn/easy-rsa/keys/gépnév.key

  • /etc/openvpn/ta.key

[Megjegyzés]

Ne felejtse el a fenti fájlnevekben átírni a kliensgép gépnevét.

A tanúsítvány- és kulcsfájlok átmásolására érdemes biztonságos módszert használni. Az scp segédprogram jó választás lehet, de a fájlok cserélhető adathordozóra, majd a kliensre másolása is megfelelő.

Beállítás

A kiszolgáló beállítása

Ezután állítsa be az openvpn kiszolgálót az /etc/openvpn/server.conf létrehozásával a példafájlból. Adja ki a következő parancsot:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz

Szerkessze az /etc/openvpn/server.conf fájlt, és módosítsa a beállításokat az alábbiak szerint:

local 172.18.100.101
dev tap0
up "/etc/openvpn/up.sh br0"
down "/etc/openvpn/down.sh br0"
;server 10.8.0.0 255.255.255.0
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 példa.hu"
tls-auth ta.key 0 # This file is secret
user nobody
group nogroup
  • local: a híd csatoló IP-címe.

  • server-bridge: akkor szükséges, ha a rendszer hidat használ. A 172.18.100.101 255.255.255.0 rész a híd csatolót és a maszkot jelenti. A 172.18.100.105 172.18.100.200 IP-címtartomány a kliensekhez rendelendő IP-címek tartománya.

  • push: a kliensek hálózatkezelési beállításai.

  • user és group: adja meg, hogy az openvpn démon mely felhasználó és csoport nevében fut.

[Megjegyzés]

Minden fenti IP-címet és tartománynevet cseréljen le a hálózatának megfelelőre.

Ezután hozzon létre néhány segédparancsfájlt a tap csatoló hozzáadásához a hídhoz. Hozza létre az /etc/openvpn/up.sh fájlt:

#!/bin/sh

BR=$1
DEV=$2
MTU=$3
/sbin/ifconfig $DEV mtu $MTU promisc up
/usr/sbin/brctl addif $BR $DEV

És az /etc/openvpn/down.sh fájlt is:

#!/bin/sh

BR=$1
DEV=$2

/usr/sbin/brctl delif $BR $DEV
/sbin/ifconfig $DEV down

Ezután tegye mindkettőt végrehajthatóvá:

sudo chmod 755 /etc/openvpn/down.sh
sudo chmod 755 /etc/openvpn/up.sh

A kiszolgáló beállítása után indítsa újra az openvpnt a következő megadásával:

sudo /etc/init.d/openvpn restart

A kliens beállítása

Első lépésként telepítse az openvpn csomagot a kliensen:

sudo apt-get install openvpn

A kiszolgáló beállítása és a klienstanúsítványok az /etc/openvpn/ könyvtárba történő átmásolása után példafájl átmásolásával hozzon létre egy kliensbeállító fájlt. A kliensgépen adja ki a következő parancsot:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn

Ezután szerkessze az /etc/openvpn/client.conf fájlt, és módosítsa a beállításokat az alábbiak szerint:

dev tap
remote vpn.példa.hu 1194
cert gépnév.crt
key gépnév.key
tls-auth ta.key 1
[Megjegyzés]

A vpn.példa.hu helyett adja meg a VPN-kiszolgáló gépnevét, a gépnév.* helyett pedig a tényleges tanúsítvány- és kulcsfájl neveit.

Végül indítsa újra az openvpnt:

sudo /etc/init.d/openvpn restart

Ezután a VPN használatával képes lesz csatlakozni a távoli helyi hálózatra.

Hivatkozások