openvpn

Nevoia unui VPN in zilele noastre este din ce in ce mai mare.
In cele ce urmeaza va voi explica in mare cum se face un VPN folosind OpenVPN si Centos 5.0 Final ca server si Windows XP pentru client.

Avem in primul rand nevoie de pachetele de compresie LZO, pe baza carora face OpenVPN compresia pachetelor prin VPN. Vom instala repository-ul rpmforge cu comenzile:

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Aducem ultimele informatii din repository

yum check-update

Vom instala pachetul lzo:

yum install lzo

OpenVPN din pacate nu se gaseste direct compilat ca pachet rpm. Va pun la dispozitie la adresa http://emil.edsoft.ro/linux/centos/5 pachetele compilate de mine.

wget http://emil.edsoft.ro/linux/centos/5/openvpn-2.0.9-1.i386.rpm
rpm -ivh openvpn-2.0.9-1.i386.rpm

Daca doriti puteti lua pachetul tar.gz de pe openvpn.net si il puteti compila folsind comanda

rpmbuild -ta openvpn-2.0.9.tar.gz

Pentru compilare veti avea nevoie de pachetele gcc openssl-devel pam-devel si lzo-devel.
Urmeaza instalarea:

rpm -ivh /usr/src/redhat/RPMS/i386/openvpn-2.0.9-1.i386.rpm

Urmeaza sa generam certificatele digitale

cd /usr/share/doc/openvpn-2.0.9/easy-rsa/
nano vars (editam informatiile personale)
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-key client
./build-dh
cd keys

In urma acestor operatiuni vom avea in folderul keys urmatoarele fisiere:
ca.crt – certificatul CA root necesat atat la server cat si la client
ca.key – cheia cu care se semneaza certificatele digitale
dh102.pem – contine lista certificatelor valide sau nu
server.crt – certificatul digital al serverului
server.csr – trebuie tinut secret pentru siguranta
server.key – cheia privata a serverului
client.crt – certificatul digital al clientului
client.csr – trebuie tinut secret pentru siguranta
client.key – cheia privata a clientului

Copiem certificatele necesare pentru server in /etc/openvpn

cp ca.crt server.crt server.key /etc/openvpn

Copiem fisierul exemplu dat pentru server in folderul de configuratii /etc/openvpn

cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/openvpn.conf

Editam fisierul de configuratie conform nevoilor noastre:

cd /etc/openvpn
nano openvpn.con

Pornim serverul de VPN:

/etc/init.d/openvpn start

Ne ocupam in continuare de clientul de openvpn.
Creem fisierele de configuratie in continuare pe serverul linux

cd ~
mkdir client
cd client
cp /usr/share/doc/openvpn-2.0.9/sample-config-files/client.conf client.ovpn
nano client.ovpn (important este sa scriem adresa ip sau hostul serverului la optiunea remote)
cp /usr/share/doc/openvpn-2.0.9/easy-rsa/keys/client.* .
cp /usr/share/doc/openvpn-2.0.9/easy-rsa/keys/ca.crt .
rm client.csr
cd ..
tar czvf client.tar.gz client

Vom transfera arhiva client.tar.gz pe computerul client de VPN.
Pentru dezarhivare se poate folosi winrar.

Vom instala openvpn-gui disponibil la adresa http://openvpn.se/download.html dupa care il instalam.

Copiem continutul folderului client din arhiva in c:\Program Files\OpenVPN\config

Printr-un simplu click pe iconita OpenVPN-GUI din sistray acesta se va conecta la serverul VPN.

Va trebuii sa aveti grija la firewall ca acesta sa accepte conexiuni din partea clientului VPN, precum si conectarea la diverse servicii din clasa de ip-uri ale VPN-ului.
Ca o masura de securitate este bine sa nu aveti pe servere pachete -devel pentru a nu se putea compila pe servee pachete.

Utilizare cat mai placuta!

4 comentarii la “openvpn

  1. Ma vad obligat intr-un fel sa pun si niste fisiere de configuratie aici:
    Pentru server openvpn.conf:

    port 1194
    proto udp
    dev tap0
    ca ca.crt
    cert server.crt
    key server.key # This file should be kept secret
    dh dh1024.pem
    server-bridge 172.16.32.1 255.255.255.0 172.16.32.100 172.16.32.150
    ifconfig-pool-persist ipp.txt
    push “route 172.16.32.0 255.255.255.0 172.16.32.1″
    push “dhcp-option WINS 172.16.32.1″
    client-config-dir ccd
    route 172.16.32.0 255.255.255.0 172.16.32.1
    client-to-client
    in folderul ccd
    se fac fisiere pentru fiecare useri

    fisierul client1:

    ifconfig-push 172.16.32.50 255.255.255.0 172.16.32.1
    iroute 172.16.32.0 255.255.255.0

    pentru client openvpn.conf

    client
    dev tap
    dev-node VPN # se redenumeste interfata din control pannel
    proto udp
    remote mx.edsoft.ro 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    ca ca.crt
    cert client1.crt
    key client1.key
    comp-lzo
    verb 3

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

*

Poți folosi aceste etichete HTML și atribute: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">