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.
Az openvpn csomag telepítéséhez adja ki a következő parancsot:
sudo apt-get install openvpn
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/
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
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
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ő.
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.
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
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
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.
-
További információkért lásd az OpenVPN weboldalát.
-
Ezen kívül a Pakt OpenVPN: Building and Integrating Virtual Private Networks című könyve is hasznos információforrás.
-
További információkért nézze meg az Ubuntu wiki OpenVPN oldalát.