Trumpai aprašysime senesnės Debian 7 OS Wheezy versijos OpenVPN tinklo serviso diegimą ir klieto sukūrimą. Šios versijos OpenVPN naudoją senus šifravimo algoritmus, todėl rekomenduotina nebenaudoti. Bet jei taip nutinka ir tenka naudoti – tai šis aprašymas padės jums, kaip įmanoma siaugiau tai padaryti.
Įdiegiame OpenVPN ir easy-rsa paketus Debian OS sistemoje.
apt-get install openvpn easy-rsa openssl
Kuriame viešųjų raktų sistemos infrastruktūrą (angl. PKI)
Nukopijuoma pagalbinius failus į /etc (konfigūruojamos OS sistemos gali skirtis direktorijos).
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn
mv /etc/openvpn/2.0/ /etc/openvpn/easy-rsa/
mkdir /etc/openvpn/easy-rsa/keys
Koreguojame kintamuosius reikalingus sertifikatams sukurti.
vim /etc/openvpn/easy-rsa/vars
export KEY_COUNTRY="LT"
export KEY_PROVINCE="Klaipedos raj."
export KEY_CITY="Klaipeda"
export KEY_ORG="Debesuuostas"
export KEY_EMAIL="info@manomail.com"
export KEY_SIZE=2048
Generuojame pagrindinį serviso sertifikatą (anlg. Certificate Authority CA).
cd /etc/openvpn/easy-rsa
. ./vars
./clean-all
./build-ca
Sukuriame tinklo įrangos sertifikatą ir jo privatų raktą.
cd /etc/openvpn/easy-rsa
./build-key-server serveris
Sugeneruojame Diffie Hellman parametrus, reikalingus sustiprinti TLS apsaugą. Generuojame 2048 (vietoje standartinio 1024) dydžio, kad kuo maksimaliau apasaugoti šifruotą kanalą.
cd /etc/openvpn/easy-rsa
./build-dh
Sugeneruojame TLS autorizacijos raktą.
openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key
Kuriame klientų prisijungimo sertifikatus ir privačius raktus
cd /etc/openvpn/easy-rsa
./build-key klientas1
Kliento konfigūracijos šablonas, kurį galime išsaugoti kaip failą su plėtiniu .conf arba .ovpn. Vėliau galėsite naudoti su programa arba tiesiai iš komandinės eilutės.
vim klientas1.conf
client
dev tun
proto udp
remote 11.22.33.44 1194
nobind
user nobody
group nogroup
persist-key
persist-tun
ca ca.crt
cert klientas1.crt
key klientas1.key
ns-cert-type server
tls-auth ta.key 1
comp-lzo yes
verb 3
Jei norime neleisti klientui prisijungti daugiau, reikia tada anuliuoti išduotą kliento sertifikatą.
cd /etc/openvpn/easy-rsa
. ./vars
./revoke-full klientas1
Konfigūruojame OpenVPN tinklo servisą
Išsiskleidžiame konfigūracijos failą į /etc.
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Konfigūruojame openvpn tinklo servisą atitinkamai.
vim /etc/openvpn/server.conf
port 1194
proto udp
dev tun
# TLS apsikeitimui reikalingi failai
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/serveris.crt
key /etc/openvpn/keys/serveris.key
dh /etc/openvpn/keys/dh2048.pem
server 10.100.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# Norimas vidinis tinklas, kuri galesime pasiekti naudodami VPN.
push "route 10.200.0.0 255.255.240.0"
keepalive 1800 4000
comp-lzo
max-clients 10
user nobody
group nogroup
persist-key
persist-tun
tls-auth /etc/openvpn/keys/ta.key 0
auth-nocache
Paleidžiame OpenVPN tinklo servisą.
/etc/init.d/openvpn start