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!
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
salut, as dori sa fac la sv vpn restrictie adica… sa downloadeze cu maxim 50 kbps …. sau alta suna numerica ( ex: 20kbps , 100 kbps etc) … se poate asa ceva?
Asta nu ține de VPN. Faci limitări de bandă ca pe orice alt tip fe interfață.
pot sa fac la vpn… k fiecare users sa aiba ip-ul lui ?