martedì 28 ottobre 2014

[CentOS] Installazione e creazione base server VPN

Per prima cosa si prepara la macchina installando i pacchetti base:

user@server # yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel -y

successivamente scarichiamo e configuriamo il repository per scaricare OpenVPN:

user@server # wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm

ora aggiungiamo il corretto repository per il server:

- versione 32 bit

user@server # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.i686.rpm

- versione 64 bit

user@server # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

costruiamo il pacchetto rpm con i seguenti comandi:

user@server # rpmbuild --rebuild lzo-1.08-4.rf.src.rpm

user@server # rpm -Uvh lzo-*.rpm

user@server # rpm -Uvh rpmforge-release*


installiamo OpenVPN:

user@server # yum install openvpn -y

copiamo la cartella 'easy-rsa' (cartella contenente gli eseguibili per la creazione dei certificati):

user@server # cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa/ /etc/openvpn/

ora editiamo il file 'vars' (file contenente le indicazioni per la creazione dei certificati):

user@server # vim /etc/openvpn/easy-rsa/2.0/vars

al posto della seguente stringa:

export KEY_CONFIG='$EASY_RSA/whichopensslcnf $EASY_RSA'

mettere questa:

export KEY_CONFIG=/etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf


procediamo con la creazione dei certificati:

user@server #  cd /etc/openvpn/easy-rsa/2.0

user@server #  chmod 755 *

user@server #  source ./vars

user@server #  ./vars

user@server # ./clean-all


creiamo il certificato d'autorità (ca.crt):

user@server # ./build-ca

(inserire i dati riguardanti la nazione, la regione, il nome dell'azienda etc.)

ora creiamo la chiave per il server:

user@server # ./build-key-server server

( inserire i dati richiesti ed alla richiesta di segnare il certificato rispondere 'y' )

ora creiamo la chiave Diffie Hellman :

user@server # ./build-dh

infine creiamo il file di configurazione per il server vpn:

user@server # vim /etc/openvpn/server.conf

(un esempio di 'server.conf' può essere il seguente:

port 1194 #
porta dov'è in ascolto il server VPN 
proto udp # protocolo utilizzato dal server VPN
dev tun 
tun-mtu 1500 
tun-mtu-extra 32 
mssfix 1450 
reneg-sec 0 
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt 
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt 
key /etc/openvpn/easy-rsa/2.0/keys/server.key 
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem 
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login # 
#plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf # 
username-as-common-name 
server 10.8.0.0 255.255.255.0 
push "redirect-gateway def1" 
push "dhcp-option DNS 8.8.8.8" 
push "dhcp-option DNS 8.8.4.4" 
keepalive 5 30 ù
comp-lzo 
persist-key 
persist-tun 
status 1194.log 
verb 3
)


ora avviamo openvpn:

user@server # service openvpn start

impostiamo che il servizio venga avviato in automatico ad ogni avvio:

user@server # chkconfig openvpn on

abilitiamo l'inoltro dell'ip nel file sysctl.conf:

user@server # vim /etc/sysctl.conf

impostiamo il valore da 0 a 1 alla stringa 'net.ipv4.ip_forward'

creiamo l'utenza per la VPN:

user@server # useradd 'nomeutente' -s /bin/false

impostiamo la password all'utenza creata:

user@server # passwd 'nomeutente'


Lato client (Windows):

Installare OpenVPN GUI ( link per il download ).
Una volta terminata l'installazione, creare il file 'client.opvn' (tale file può essere creato con un editor come notepad).
Un esempio di file 'client.ovpn' è:
 
client 
dev tun 
proto udp 
remote X.X.X.X 1194 # Inserire l'indirizzo IP del server con relativa porta
resolv-retry infinite 
nobind 
tun-mtu 1500 
tun-mtu-extra 32 
mssfix 1450 
persist-key 
persist-tun 
ca ca.crt 
auth-user-pass 
comp-lzo 
reneg-sec 0 
verb 3


Salvare il file appena creato in 'C:\Programmi\OpenVPN\config'.
Infine copiamo il certificato 'ca.crt' creato precedentemente sul server dentro alla cartella 'C:\Programmi\OpenVPN\config'.
Ora avviando OpenVPN GUI comparirà nella icontray in basso a destra l'icona del programma, tasto destro e 'connetti', verrà chiesto di inserire la user e la password dell'utente precedentemente creato sul server, e se tutto è stato eseguito correttamente comparirà la scritta 'client è ora connesso'.

Nessun commento:

Posta un commento