Como Configurar Una VPN Con Openvpn

8
 Cómo configurar una red privada virtual VPN con OpenVPN  junio 3, 2008 Las conexiones VPN (Virtual Private Network) pueden servir para una gran variedad de escenarios en las redes informáticas de hoy en día, ofreciendo una gran flexibilidad y seguridad a la hora de planificarlas y administrarlas, como por ejemplo conectar varias oficinas separadas geográficamente como si fuera sólo una red de una forma segura o permitir una conexión segura a la red interna de la empresa a trabajadores que normalmente están trabajando remotamente como por ejemplo comerciales. El escenario que voy a utilizar en la configuración lo podéis ver en el siguiente dibujo: Utilizo como servidor VPN un servidor linux Fedora core 6 y como cliente vpn un portátil con Windows XP Sp2. Lo primero que tenemos que hacer es instalar openvpn, en el servidor fedora, utilizando el comando:  # yum insta ll openvp n Esto instalará todo el paquete rpm de OpenVPN y cualquier otro módulo que necesite para su funcionamiento. Una vez instalado OpenVPN podemos empezar a configurar el servidor, creamos el master Certificate Authority (CA) y la key que utilizaremos para la autenticación Servidor-cliente. Ir al directorio:  /usr/shar e/openvp n/easy-rs a/2.0 donde encontraremos los ejecutables para crear los certificados y llaves. Editar el fichero vars y cambiar los datos siguientes por vuestros datos:

Transcript of Como Configurar Una VPN Con Openvpn

5/10/2018 Como Configurar Una VPN Con Openvpn - slidepdf.com

http://slidepdf.com/reader/full/como-configurar-una-vpn-con-openvpn 1/8

Cómo configurar una red privada virtual VPN con OpenVPN 

 junio 3, 2008

Las conexiones VPN (Virtual Private Network) pueden servir para una gran variedad de escenarios en las redinformáticas de hoy en día, ofreciendo una gran flexibilidad y seguridad a la hora de planificarlas y

administrarlas, como por ejemplo conectar varias oficinas separadas geográficamente como si fuera sólo una

red de una forma segura o permitir una conexión segura a la red interna de la empresa a trabajadores quenormalmente están trabajando remotamente como por ejemplo comerciales.

El escenario que voy a utilizar en la configuración lo podéis ver en el siguiente dibujo:

Utilizo como servidor VPN un servidor linux Fedora core 6 y como cliente vpn un portátil con Windows XPSp2.

Lo primero que tenemos que hacer es instalar openvpn, en el servidor fedora, utilizando el comando:

 # yum install openvpn 

Esto instalará todo el paquete rpm de OpenVPN y cualquier otro módulo que necesite para su funcionamiento

Una vez instalado OpenVPN podemos empezar a configurar el servidor, creamos el master Certificate

Authority (CA) y la key que utilizaremos para la autenticación Servidor-cliente.

Ir al directorio:

 /usr/share/openvpn/easy-rsa/2.0

donde encontraremos los ejecutables para crear los certificados y llaves.

Editar el fichero vars 

y cambiar los datos siguientes por vuestros datos:

5/10/2018 Como Configurar Una VPN Con Openvpn - slidepdf.com

http://slidepdf.com/reader/full/como-configurar-una-vpn-con-openvpn 2/8

export KEY_COUNTRY=”ES”( el código de tu país) 

export KEY_PROVINCE=”TG”( la iniciales de tu provincia) 

export KEY_CITY=”Tuciudad”  

export KEY_ORG=”Tuempresa”  

export KEY_EMAIL=”  [email protected]“  

Después ejecuta los siguientes comandos:

#source ./vars#./clean-all#./build-ca (crea el certificate Authority (CA)) 

y rellena los siguientes campos o deja el señalado por defecto cuando te lo pregunte:

Country Name (2 letter code) [ES]: 

State or Province Name (full name) [TG]: 

Locality Name (eg, city) [Tuciudad]: 

Organization Name (eg, company) [Empresa]: 

Organizational Unit Name (eg, section) []: 

Common Name (eg, your name or your server’s hostname) [server]: ( nombre de tu servidor)

Email Address [[email protected]]: 

A continuación crearemos el certificado y la llave privada para el servidor:

#./build-key-server server 

Y ahora crearemos el certificado y la llave privada para los clientes:

#./build-key portatil1#./build-key portatil2#./build-key portatil3 

Una vez creado los certificados y llaves correspondientes generaremos los parámetros llamados Diffie Hellmcon el siguiente comando:

#./build-dh 

Al final se nos ha creado un conjunto de certificados y llaves, en el directorio  

 /usr/share/openvpn/easy-rsa/2.0/key 

5/10/2018 Como Configurar Una VPN Con Openvpn - slidepdf.com

http://slidepdf.com/reader/full/como-configurar-una-vpn-con-openvpn 3/8

de todos los archivos creados tenemos que copiar al ordenador cliente los ficheros ca.crt, portatil1.crt y

portatil1.key ( al ordenador portatil1) y lo mismo para los otros ordenadores clientes si los hubiera. podemos

utilizar para copiarlo winscp.

Ahora configuraremos el fichero server.conf del servidor que en fedora se encuentra en el directorio:

 /usr/share/doc/openvpn-2.1/sample-config-files/  

La configuración final del fichero server.conf es:

proto udp 

dev tun 

ca /usr/share/openvpn/easy-rsa/2.0/ca.crt # ponemos el directrorio donde estan creadas lasllaves 

cert /usr/share/openvpn/easy-rsa/2.0/server.crt 

key /usr/share/openvpn/easy-rsa/2.0/server.key

dh /usr/share/openvpn/easy-rsa/2.0/dh1024.pem 

server 10.8.0.0 255.255.255.0 # la red VPN 

ifconfig-pool-persist ipp.txt 

push “route 192.168.0.0 255.255.255.0″ # cambiar esta dirección de red a la red privada que sencuentra tu servidor

client-to-client # si quieres que los clientes vpn se vean entre ellos  

keepalive 10 120 

comp-lzo 

persist-key 

persist-tun 

status openvpn-status.log 

verb 3 

Ahora vamos a configurar el ordenador cliente:

Una vez descargado openvpn para la versión windows e instalado, ir al directorio:

C:\Archivos de programa\OpenVPN\config 

editar el fichero client.ovpn y poner lo siguiente:

5/10/2018 Como Configurar Una VPN Con Openvpn - slidepdf.com

http://slidepdf.com/reader/full/como-configurar-una-vpn-con-openvpn 4/8

client 

dev tun 

dev-node mytap # el nombre del adaptador virtual que se ha creado en conexiones de red 

proto udp 

remote 87.34.3.22 1194 # La ip pública del router de la empresa  

resolv-retry infinite 

nobind 

persist-key 

persist-tun 

ca ca.crt # ruta donde has copiado el fichero ca.crt en el ordenador cliente  

cert portatil1.crt # ruta donde has copiado el fichero portatil1.crt

key portatil1t1.key # ruta donde has copiado el fichero portatil1.key 

ns-cert-type server 

comp-lzo

verb 3 

Una vez configurado todo esto podemos comprobar si la conexión VPN se realiza con éxito, para elloejecutaremos el siguiente comando en el servidor:

#openvpn server.conf  

y veréis algo parecido a:

Mon Jun 2 17:53:41 2008 OpenVPN 2.1_rc2 i386-redhat-linux-gnu [SSL] [LZO2] [EPOLL] built on M3 2007 

Mon Jun 2 17:53:41 2008 Diffie-Hellman initialized with 1024 bit key 

Mon Jun 2 17:53:41 2008 TLS-Auth MTU parms [ ] 

Mon Jun 2 17:53:41 2008 TUN/TAP device tun0 opened 

Mon Jun 2 17:53:41 2008 TUN/TAP TX queue length set to 100 

Mon Jun 2 17:53:41 2008 /sbin/ip link set dev tun0 up mtu 1500 

Mon Jun 2 17:53:41 2008 /sbin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2  

5/10/2018 Como Configurar Una VPN Con Openvpn - slidepdf.com

http://slidepdf.com/reader/full/como-configurar-una-vpn-con-openvpn 5/8

Mon Jun 2 17:53:41 2008 /sbin/ip route add 10.8.0.0/24 via 10.8.0.2 

Mon Jun 2 17:53:41 2008 Data Channel MTU parms [ ] 

Mon Jun 2 17:53:41 2008 Socket Buffers: R=[110592->131072] S=[110592->131072] 

Mon Jun 2 17:53:41 2008 UDPv4 link local (bound): [undef]:1194  

Mon Jun 2 17:53:41 2008 UDPv4 link remote: [undef] 

Mon Jun 2 17:53:41 2008 MULTI: multi_init called, r=256 v=256 

Mon Jun 2 17:53:41 2008 IFCONFIG POOL: base=10.8.0.4 size=62 

Mon Jun 2 17:53:41 2008 IFCONFIG POOL LIST 

Mon Jun 2 17:53:41 2008 client1,10.8.0.4 

Mon Jun 2 17:53:41 2008 Initialization Sequence Completed 

Ahora en el ordenador cliente ejecutaremos el siguiente comando:

openvpn client.ovpn 

Y veréis algo parecido a:

Mon Jun 02 17:42:13 2008 OpenVPN 2.0.9 Win32-MinGW [SSL] [LZO] built on Oct 1 2006 

Mon Jun 02 17:42:13 2008 LZO compression initialized 

Mon Jun 02 17:42:13 2008 Control Channel MTU parms [ ] 

Mon Jun 02 17:42:13 2008 Data Channel MTU parms [ ] 

Mon Jun 02 17:42:13 2008 Local Options hash (VER=V4): ’41690919′ 

Mon Jun 02 17:42:13 2008 Expected Remote Options hash (VER=V4): ’530fdded’ 

Mon Jun 02 17:42:13 2008 UDPv4 link local: [undef] 

Mon Jun 02 17:42:13 2008 UDPv4 link remote: 87.34.3.22:1194 

Mon Jun 02 17:42:13 2008 TLS: Initial packet from 87.34.3.22:1194, sid=af133203 12cvf073 

Mon Jun 02 17:42:13 2008 VERIFY OK: depth=1, /C=ES/ST=TG/L=Tuciudad/O=Tucompañia/OU=information_technology/CN=server/[email protected] 

Mon Jun 02 17:42:13 2008 VERIFY OK: nsCertType=SERVER 

5/10/2018 Como Configurar Una VPN Con Openvpn - slidepdf.com

http://slidepdf.com/reader/full/como-configurar-una-vpn-con-openvpn 6/8

Mon Jun 02 17:42:13 2008 VERIFY OK: depth=0, /C=ES/ST=TG/L=tuciudad/O=tucompañía/OU=information_technology/CN=server/[email protected] 

Mon Jun 02 17:42:13 2008 Data Channel Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key 

Mon Jun 02 17:42:13 2008 Data Channel Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC

authentication 

Mon Jun 02 17:42:13 2008 Data Channel Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key 

Mon Jun 02 17:42:13 2008 Data Channel Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC

authentication 

Mon Jun 02 17:42:13 2008 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA,1024 bit RSA 

Mon Jun 02 17:42:13 2008 [server] Peer Connection Initiated with 87.34.3.22:1194 

Mon Jun 02 17:42:14 2008 SENT CONTROL [server]: ‘PUSH_REQUEST’ (status=1) 

Mon Jun 02 17:42:14 2008 PUSH: Received control message: ‘PUSH_REPLY,route 192.168.0.0

255.255.255.0,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.610.8.0.5′ 

Mon Jun 02 17:42:14 2008 OPTIONS IMPORT: timers and/or timeouts modified 

Mon Jun 02 17:42:14 2008 OPTIONS IMPORT: – ifconfig/up options modified 

Mon Jun 02 17:42:14 2008 OPTIONS IMPORT: route options modified 

Mon Jun 02 17:42:14 2008 TAP-WIN32 device [mytap] opened: \\.\Global\{87A3A26E-2E66-4AFE-9552567642AAE89}.tap 

Mon Jun 02 17:42:14 2008 TAP-Win32 Driver Version 8.4

Mon Jun 02 17:42:14 2008 TAP-Win32 MTU=1500 

Mon Jun 02 17:42:14 2008 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.8.0.6/255.255.255.252 on interface {87A3A26E-2E66-4AFE-9550-2567642AAE89} [DHCP-serv:10.8.0.5, lease-time: 31536000] 

Mon Jun 02 17:42:14 2008 Successful ARP Flush on interface [65541] {87A3A26E-2E66-4AFE-9550-2567642AAE89} 

Mon Jun 02 17:42:14 2008 TEST ROUTES: 0/0 succeeded len=2 ret=0 a=0 u/d=down  

Mon Jun 02 17:42:14 2008 Route: Waiting for TUN/TAP interface to come up… 

Mon Jun 02 17:42:15 2008 TEST ROUTES: 0/0 succeeded len=2 ret=0 a=0 u/d=down 

5/10/2018 Como Configurar Una VPN Con Openvpn - slidepdf.com

http://slidepdf.com/reader/full/como-configurar-una-vpn-con-openvpn 7/8

Mon Jun 02 17:42:15 2008 Route: Waiting for TUN/TAP interface to come up… 

Mon Jun 02 17:42:16 2008 TEST ROUTES: 0/0 succeeded len=2 ret=0 a=0 u/d=down  

Mon Jun 02 17:42:16 2008 Route: Waiting for TUN/TAP interface to come up… 

Mon Jun 02 17:42:17 2008 TEST ROUTES: 0/0 succeeded len=2 ret=0 a=0 u/d=down 

Mon Jun 02 17:42:17 2008 Route: Waiting for TUN/TAP interface to come up… 

Mon Jun 02 17:42:18 2008 TEST ROUTES: 0/0 succeeded len=2 ret=0 a=0 u/d=down  

Mon Jun 02 17:42:18 2008 Route: Waiting for TUN/TAP interface to come up… 

Mon Jun 02 17:42:19 2008 TEST ROUTES: 2/2 succeeded len=2 ret=1 a=0 u/d=up 

Mon Jun 02 17:42:19 2008 route ADD 192.168.1.0 MASK 255.255.255.0 10.8.0.5 

Mon Jun 02 17:42:19 2008 Route addition via IPAPI succeeded 

Mon Jun 02 17:42:19 2008 route ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5 

Mon Jun 02 17:42:19 2008 Route addition via IPAPI succeeded 

Mon Jun 02 17:42:19 2008 Initialization Sequence Completed 

Mon Jun 02 17:42:35 2008 TCP/UDP: Closing socket 

Mon Jun 02 17:42:35 2008 route DELETE 10.8.0.0 MASK 255.255.255.0 10.8.0.5 

Mon Jun 02 17:42:35 2008 Route deletion via IPAPI succeeded 

Mon Jun 02 17:42:35 2008 route DELETE 192.168.0.0 MASK 255.255.255.0 10.8.0.5 

Mon Jun 02 17:42:35 2008 Route deletion via IPAPI succeeded 

Mon Jun 02 17:42:35 2008 Closing TUN/TAP interface 

Mon Jun 02 17:42:35 2008 SIGTERM[hard,] received, process exiting 

Para comprobar la conexión podemos hacer un ping a la ip privada del servidor 

ping 192.168.0.1 

Haciendo ping a 192.168.0.1 con 32 bytes de datos:  

Respuesta desde 192.168.0.1: bytes=32 tiempo<1m TTL=64 

Respuesta desde 192.168.0.1: bytes=32 tiempo<1m TTL=64 

Respuesta desde 192.168.0.1: bytes=32 tiempo<1m TTL=64 

5/10/2018 Como Configurar Una VPN Con Openvpn - slidepdf.com

http://slidepdf.com/reader/full/como-configurar-una-vpn-con-openvpn 8/8

Respuesta desde 192.168.0.1: bytes=32 tiempo<1m TTL=64 

y comprobamos que la conexión está funcionando, ahora tenemos una conexión VPN al servidor de la empres

Algunas consideraciones: 

  Para que la conexión funcione hay que redirigir el puerto 1194 del router de la empresa al servidor vpn

  Hay que tener en cuenta que para unir dos redes separadas a través de una VPN, el rango de ip privada

tienen que ser diferente subnet para que funcione, no pueden pertenecer a la misma como por ejemplolas dos a 192.168.0.0 255.255.255.0.

Si quisiéramos tener también conexión con los demás ordenadores de la empresa, tenemos que comprobar qu

Ip Forwarding está activado en el servidor vpn, para activarlo se ejecuta el siguiente comando:

echo 1 > /proc/sys/net/ipv4/ip_forward 

Además tendríamos que configurar en el router de la empresa una ruta que indique que la formapara llegar a la red de la vpn cliente es a través del servidor VPN.  

Bueno como podéis comprobar configurar un servidor VPN con OpenVPN no es tan difícil, aunque estaconfiguración es muy sencilla, se puede complicar un poco más dependiendo del número de redes a unir, y

diferentes configuraciones para cada una.

Un saludo,

Arturo Laá Mc crory 

CSSA Certified Sonicwall Security Administrator

ACE Acronis Certified Engineer