Hola!
Hoy hablare un poco sobre Redes Privadas Virtuales o VPN
Este servidor sera creado para una organización ejemplo (sit-ve) dándole carácter de uso empresarial aunque se puede usar bajo cualquier propósito esta poderosa herramienta.
la definición de algunos términos y conceptos directamente asociados a las topologias de una red VPN y redes WAN y de área local las estaré subiendo el una próxima entrada, ahora al server…
Instalación de paquete openvpn en Linux Debian 6.0
root@sit-ve:/home/sit#aptitude install openvpn Se instalarán los siguiente paquetes NUEVOS: liblzo2-2{a} libpkcs11-helper1{a} openssl-blacklist{a} openvpn openvpn-blacklist{a} 0 paquetes actualizados, 5 nuevos instalados, 0 para eliminar y 66 sin actualizar. Necesito descargar 7945 kB de ficheros. Después de desempaquetar se usarán 16,3 MB. ¿Quiere continuar? [Y/n/?] Y
trasladar documentación y scripts de ayuda al directorio /root (recomendable)
------------------------------------------------------------------------- root@sit-ve:/# cp -a /usr/share/doc/openvpn/examples/easy-rsa/ /root/ root@sit-ve:/# cd /root/ ---------------------------------------------------------------------------
Damos permisos a vars y luego lo editamos para configurar los parámetros de la CA
root@sit-ve:~/easy-rsa/2.0# chmod 777 vars
Editamos vars
root@sit-ve:~/easy-rsa/2.0#vim vars
Ejecutamos scripts para variables de ambiente
root@sit-ve:~/easy-rsa/2.0# ./vars
(cuando es primera vez que se ejecuta vars)
root@sit-ve:~/easy-rsa/2.0# ./vars && source vars NOTE: If you run ./clean-all, I will be doing a rm -rf on /root/easy-rsa/2.0/keys NOTE: If you run ./clean-all, I will be doing a rm -rf on /root/easy-rsa/2.0/keys
root@sit-ve:~/easy-rsa/2.0# ./clean-all
Con el siguiente script generamos la CA de para la VPN, esto es fundamental para generar certificados y llaves en base al archivo que editamos anterior mente
root@sit-ve:~/easy-rsa/2.0# ./pkitool --initca Using CA Common Name: Soluciones IT CA Generating a 1024 bit RSA private key .............................++++++ ..................++++++ writing new private key to 'ca.key' -----
Creamos la llave privada para el Servidor
root@sit-ve:~/easy-rsa/2.0# ./pkitool --server vpnsit Generating a 1024 bit RSA private key ................................++++++ ...............................++++++ writing new private key to 'vpnsit.key' ----- Using configuration from /root/easy-rsa/2.0/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName : PRINTABLE:'VE' stateOrProvinceName : PRINTABLE:'CA' localityName : PRINTABLE:'Valencia' organizationName : PRINTABLE:'Soluciones IT' commonName : PRINTABLE:'vpnsit' emailAddress : IA5STRING:'adm@sitve.org.ve' Certificate is to be certified until Apr 25 08:31:12 2022 GMT (3650 days)
Corremos Diffie-Hellman, este protocolo nos permite intercambiar llaves entre partes desconocidas sin comprometer la información compartida
root@sit-ve:~/easy-rsa/2.0# ./build-dh Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time ........................+.................................................................................................................................+.................................................................................................+................................................................+.+...................................................................................................+...........................................+..........................................................................+............................................................+..............+........................+.........................................................................................+.....................................................................................+.....+.........................................................................+......................................+..........................................................+..........+..............................+......................................................................+....++*++*++* root@sit-ve:~/easy-rsa/2.0#
Con todo esto ya hecho, podemos ahora crear los certificado para los clientes y nodos de nuestra red VPN con el script pkitool.
root@sit-ve:~/easy-rsa/2.0#./pkitool nodo1
root@sit-ve:~#vim /etc/openvpn/servidorsit.conf
———————————————————————
Editamos el archivo de configuración para el Servidor de la VPN, este ejemplo es adaptable a un servidor openvpn modo enrutador, cada directiva se debe aplicar según la necesidad del servidor que se instalara
root@sit-ve:~#vim /etc/openvpn/servidorsit.conf #configuracion de Servidor OpenVPN #Debian GNU/Linux 6.0 con openvpn
port 1194
proto udp dev tun ca /etc/openvpn/servidorsit/ca.crt cert /etc/openvpn/servidorsit/vpnsit.crt key /etc/openvpn/servidorsit/vpnsit.key dh /etc/openvpn/servidorsit/dh1024.pem server 10.0.10.0 255.255.255.0 route 192.168.2.0 255.255.255.0 10.0.0.2 route 192.168.3.0 255.255.255.0 10.0.0.3 keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status /var/log/openvpn-status.log log /var/log/openvpn.log verb 3 mute 20 client-to-client
iniciamos el servicio en nuestro servidor
root@sit-ve:~#invoke-rc.d openvpn start
o tambien
#invoke-rc.d openvpn start servidorsit
y verificamos que la interfaz virtual creada este UP
root@sit-ve:~#ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.0.10.1 P-t-P:10.0.10.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
Con esto ya tenemos creado el servidor VPN con openvpn, en el próximo post estaré haciendo la configuración de el cliente en distintas plataformas, explicando un poco sobre como adelantar o llegar a redes locales LAN desde la VPN y haciendo una serie de definición de términos asociados a VPN