Académique Documents
Professionnel Documents
Culture Documents
JUAN CARLOS NARVEZ WILLIAM VILLOTA ANDRS FELIPE MUOZ LUS CARLOS NARVEZ
SENA REGIONAL CAUCA CENTRO DE TELEINFORMTICA Y PRODUCCIN INDUSTRIAL DEPARTAMENTO DE TELEINFORMTICA POPAYN 2009
1. Instalacion del servicio Openvpn en una distribucin de Linux en este caso vamos a utilizar Ubuntu para instalar utitlizaremos el siguiente comando: a. # apt-get install openvpn
2. Para que los paquetes puedan pasar de una interfaz a otra en los routers/firewalls se debe habilitar el ruteo entre ellas podemos indicarlo simplemente cambiando un 0 por un 1 en la lnea correspondiente Edita /etc/sysctl.conf y cambia ip_forwarding a 1 (est normalmente en 0), si no se configura este parametro la vpn no har ping hacia la red interna!
Entonces ejecuta:
sysctl p.
3. 1.Crear un certificado-CA con el cual firmaremos y revocaremos certificados de clientes 2.Crear un certificado y una clave pblica para los clientes 3.Firmar ese certificado usan el certificado-CA 4.Distribuir la clave y certificados a los clientes 5.Configurar los scripts del servidor y de los clientes Para los primeros 3 pasos vamos a utilizar una serie de scripts que nos facilitarn la vida dado que invocan los comandos adecuados con unos cuantos parmetros por default,Como primer paso, sugerimos copiar ese directorio (easy-rsa) hacia /etc/openvpn y cambiarnos a ese directorio:
# cp -a /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn
editar el archivo vars en nano /etc/openvpn/vars cambiar las ultimas 5 variables a nuestro gusto sin dejar ninguna vaca:
4. Creando el CA Una vez dentro de ste directorio procedemos a ejecutar los siguientes pasos:
# sh clean-all (Inicializamos el directorio de las claves (borrando potenciales archivos viejos)) # sh build-ca (procedemos a generar el certificado CA)
En ste ltimo paso se nos pedir una serie de informacin sobre nuestra red/empresa que debemos llenar lo ms fielmente posible:
OJO: La variable que debemos explcitamente llenar es: Common Name. al generar este certificado tienen que haberse creado dos archivos en la carpeta /etc/openvpn/easy-rsa/2.0/keys/ *ca.crt *ca.key
5. Creando el certificado para la clave del servidor De los diferentes datos que se irn preguntando el que realmente importa es el Common Name dado que el mismo ser utilizado textualmente en la configuracin de los clientes. Usaremos Common Name = server Tambin aparecern dos preguntas a las que responderemos afirmativamente.
# sh build-key-server server
server.key server.csr
Esots archivos se copiarn dentro del mismo servidor hacia /etc/openvpn, ellos son: * server.crt * server.key
6. Generando certificados y claves privadas para los clientes Cada cliente debe tener su propio certificado y clave de seguridad, para cara cliente que tengamos deberemos repetir el siguiente paso. Los archivos obtenidos debemos copiarlos hacia el directorio /etc/openvpn/ de los clientes! En el caso de que nuestros clientes sean en windows, debemos copiarlos hacia C:\Archivos de programa\OpenVPN\config Para generar el certificado y claves privadas ejecutamos en nuestro servidor, dentro del directorio /etc/openvpn/easy-rsa/2.0/
5.
Ahora creamos la clave Diffie-Hellman con el script build-dh lo cual tardar varios minutos # sh build-dh
El paso siguiente ser determinar cuales archivos de los generados debern quedar en el servidor y cuales deben ser enviados a los clientes.
Archivo
Descripcin
Ubicacin
Secreto
dh1024.pem
servidor
----
ca.crt
Certificado raz CA
No
ca.key
Clave raz CA
servidor
Si
server.crt
servidor
No
servidor
Si
clientandres.crt
cliente
No
clientandres.key
cliente
Si
Tenga en cuenta que andres es un nombre que corresponde con el cliente (para el cliente 2 sera: client2.crt y client2.key por ejemplo). Estos 3 archivos deben copiarse de forma segura hacia el cliente, quiz mediante scp, o algn medio magntico seguro. No deben enviarse por mail puesto que contienen la clave (.key) de encriptacin del cliente!, Estos archivos estn presentes en: /etc/openvpn/easy-rsa/2.0/keys del servidor. 7.En este caso utilizaremos un software llamado winscp ,pero antes de eso tienes que instalar ssh y arrancar el demonio en el servidor para poder hacer la transferencia de archivos entre los dos host simplemente ejecutando los siguientes comandos
Haciendo la transferencia de archivos con winscp Colocamos la direccin del servidor de Ubuntu dejamos por defecto el puerto 22 y el usuario y contrsea de la maquina
Para copiar los archivos del servidor al cliente Windows xp seleccionamos los archivos y damos F5 para la transferencia de estos
8.Configuracin del servidor: Se debe crear un archivo con algn editor de Linux como Vi nano llamado server.conf, El archivo /etc/openvpn/server.conf quedar as:
# nano server.conf
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh1024.pem #Direcciones que se asignaran a los #clientes, el server es .1 server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#Ruta para que los clientes alcancen la red local del server (56.0/24) push "route 192.168.56.0 255.255.255.0"
keepalive 10 120 comp-lzo user nobody group nobody persist-key persist-tun status openvpn-status.log verb 4
Como podemos ver, hay nuevos parmetros, los ms importantes son: * un push de la ruta hacia la red local interna del servidor. Esa ruta estdica permitir que el road warrior vea a las mquinas de la red interna * server: Indica el rango de direcciones que se asignar a los clientes que se conecten, deben ser direcciones no similares a las de la red local 10. iniciar el servicio de vpn en el servidor #/etc/init.d/openvpn start 11. Configuracin del cliente: En la ruta C:\Archivos de programa\OpenVPN\sample-config, existen algunos ejemplos de archivos de configuracin de cliente y de servidor , en nuestro caso copiamos de esta ruta el archivo llamado: cliente y lo pegamos en la ruta: C:\Archivos de programa\OpenVPN\config.
client dev tun proto udp # direccion IP de red Publica del servidor VPN remote 192.168.2.6 resolv-retry infinite
nobind #Las dos siguientes opciones no van en windows user nobody group nobody
Las configuraciones ms interesantes son: * Client: indica que algunas configuraciones las tomar del servidor. * nobind: que no acte como servidor, que solamente vaya como cliente. * Recordar que cert y key deben ser nicas para cada cliente Una vez editado el archivo grabamos y damos click derecho en el icono de Openvpn GUI y le damos conectar.
El cliente OpenVPN GUI iniciara la marcacin y conexin hacia el servidor de VPN, tal como lo muestra la siguiente grafica.
Una vez establecida la conexin nos mostrara un mensaje como el siguiente, el cual nos indicara que la conexin y login en la red VPN fue exitosa.