Como Configurar Una VPN Con Openvpn
-
Upload
israel-torres -
Category
Documents
-
view
33 -
download
0
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