VPN en servidor Linux y clientes Windows/Linux con OpenVPN + Shorewall [Parte 2]
Autor: William López Jiménez
Correo electrónico: william [punto] koalasoft [arroba] gmail [punto] com
Sitio de Red: http://www.koalasoftmx.net
Jabber ID: koalasoft@jabber.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.5 © 2007 William López Jiménez. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos. Nota: Para una mejor comprensión se recomienda haber leído la [Parte 1] de este manual. Continuación ...
Menú del cliente OpenVPN para efectuar la conexión al servidor VPN Cuando intente conectarse al servidor VPN una vez que haya elegido la opción [connect] aparecerá una ventana de notificación en el cual vera los procesos de verificación e intento de conexión al servidor VPN, si todo sale bien, en el icono de notificación del cliente OpenVPN le indicará la correcta conexión y le mostrará el número de IP virtual [tun] que se le fue asignado.
Mensaje de notificación al conectarse al servidor VPN
Pruebas de ConexiónUna ves efectuada la conexión al servidor, para asegurarse que estamos dentro del túnel VPN y tenemos conexión al servidor, podemos realizar una búsqueda de dirección IP [Ping], así como también verificar el número IP asignado por el servidor VPN al estar conectarnos en el túnel. Para esto utilizaremos el comando [cmd] para hacer llamado al MS-Dos de Windows a través de la aplicación [ejecutar]. Una ves estando en la consola en modo texto, utilice el comando [ipconfig] para ver que dirección IP se le fue asignado.
Verificación de asignación de dirección IP virtual [tun]
Verificación de conexión de red a través del túnel VPN Importante: Deberá desactivar el cortafuego que trae como predeterminado Windows o cual quier otro que este utilizando.
Clientes Linux Para la configuración de clientes Linux con OpenVPN utilizaremos el modo texto [terminal] y el arranque a través de un bash. Preparativos y configuraciónA continuación deberá copiar los siguientes ficheros:
Estos fueron creados en el directorio /etc/openvpn/easy-rsa/2.0/keys y deberán ser colocados en la máquina cliente dentro del directorio OpenVPN. Supongamos que las llaves la tenemos en el directorio /tmp/llaves, debemos copiar estas en el siguiente directorio /etc/openvpn/keys, para esto hay que crearlo antes. mkdir /etc/openvpn/keys cp -R /tmp/llaves/* /etc/openvpn/keys/ cd /etc/openvpn/ A continuación se creará un fichero de configuración cliente para el OpenVPN dentro del directorio /etc/openvpn/ con el nombre de cliente1-udp-1194.ovpn. Tendrá la siguiente configuración: dev tun proto udp remote dominio-o-ip.del.servidor.vpn 1194 float resolv-retry infinite nobind persist-key persist-tun #------ SECCION DE LLAVES -------- ca ca.crt cert cliente.crt key cliente.key ns-cert-type server #--------------------------------- comp-lzo verb 3
Descripción:
Ahora necesitamos insertar el módulo [tun] para controlar los interfaces /dev/net/tunX que se necesiten en le sistema para el servicio OpenVPN: Cargamos el módulo: modprobe tun y habilitamos el IP forwarding: echo 1 > /proc/sys/net/ipv4/ip_forward Comprobamos que tenemos /dev/net/tun, si no existe lo creamos con: mknod /dev/net/tun c 10 200 Para la ejecución del cliente OpenVPN puede utilizar el siguiente guión y guardarlo con el nombre de [iniciovpncliente], tendrá el siguiente contenido: #!/bin/bash # #-- Variables -- RUTACONFIG=”/etc/openvpn/” NOMCONFIG=”cliente1-udp-1194.conf” # #-- Ejecución de la configuración para el servicio OpenVPN # /usr/bin/openvpn $RUTACONFIG./$NOMCONFIG exit 0 Y damos los permiso de ejecución correspondientes: chmod +x iniciovpncliente Si desea ejecutar el servicio VPN al inicio del sistema (arranque), puede colocar lo siguiente dentro del fichero /etc/rc.local #inicia la configuración OpenVPN /donde/este/tu/fichero/iniciovpncliente Pruebas de ConexiónUna ves efectuada la conexión al servidor VPN, para asegurarse que estamos dentro del túnel VPN y tenemos conexión al servidor, podemos realizar una búsqueda de dirección IP [Ping], así como también verificar el número IP asignado por el servidor VPN al estar conectarnos en el túnel. Para esto utilizaremos el necesitamos entrar a la terminal de comando, una ves estando en la consola en modo texto, utilice el comando [ifconfig] para ver que dirección IP se le fue asignado.
Verificación de asignación de dirección IP [tun] con ifconfig
Prueba de conexión con el comando [ping] hacia el servidor VPN
Comprobación de conexión hacia el servidor VPN en interfaz gráfica Si SELinux está activo en el sistema y se va a utilizar el componente de OpenVPN para NetworkManager (NetworkManager-openvpn), y se van a utilizar certificados almacenados en el directorio del usuario, se debe activar la política openvpn_enable_homedirs.
setsebool -P openvpn_enable_homedirs 1
Archivado en: |














