Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Preparando el Servidor VPN (1) Se debe tener instalado los siguientes paquetes: pam, openssl, lzo, openvpn.
# rpm -q pam # rpm -q openssl # rpm -q lzo
Instalamos el paquete:
# yum install lzo
Los pasos 1, 2, 3 y 4 se deben repetir exactamente igual en el equipo del cliente Linux
RX packets:2764 errors:0 dropped:0 overruns:0 frame:0 TX packets:682 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1362998 (1.2 Mb) TX bytes:100959 (98.5 Kb) Interrupt:185 Base address:0xb800 eth1 Link encap:Ethernet HWaddr 00:15:E9:B0:22:7C inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::215:e9ff:feb0:227c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:330 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:33440 (32.6 Kb) TX bytes:1822 (1.7 Kb) Interrupt:169 Base address:0xb400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:322 errors:0 dropped:0 overruns:0 frame:0 TX packets:322 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:23316 (22.7 Kb) TX bytes:23316 (22.7 Kb)
1.1. Configuracin del Servidor VPN (1) (2) (3) (4) (5)
Creamos el directorio /etc/openvpn/ Copiar el directorio /usr/local/openvpn-2.2.0/easy-rsa/ hacia /etc/openvpn/ Trasladarse al directorio /etc/openvpn/easy-rsa/2.0/ Definimos permisos de ejecucin en los scripts. Inicializamos las variables para poder trabajar con los scripts para la generacin de las variables. (6) Inicializamos el directorio de las claves.
Fig. 3. Configurar CA
(7) Procedemos a generar el certificado CA. Se nos pedir una serie de informacin sobre
nuestra red/empresa que debemos llenar lo ms fielmente posible.
# sh build-ca
(9) El paso anterior nos genero dos archivos en el directorio /etc/openvpn/easyrsa/2.0/keys/ que se copiarn dentro del mismo servidor hacia /etc/openvpn.
Fig. 6.
En el ejemplo anterior generamos la clave y el certificado para un cliente llamado cliente1. Debemos hacer notar que al ejecutar el programa sh build-key, le pasamos como parmetro el nombre del cliente (cliente1 en el ejemplo anterior) el cual debe ser diferente para cada cliente. En el commoName ponemos el nombre del cliente (cliente1 en ste ejemplo) tal y como le pasamos de parmetro.
(11) Se pueden generar tantas claves como sean necesarias, para cada cliente:
# sh build-key cliente2 # sh build-key cliente3
Esto nos generar dos claves y certificados ms, para cliente2 y cliente3, por favor, en Common Name debemos poner cliente2 cliente3 para cada caso.
Fig. 8.
Fig. 9.
#Cantidad de informacin para guardar en el log (de 0 a 11) verb 4 #Archivo log status /var/log/openvpn-status.log
Como podemos ver, hay nuevos parmetros, los ms importantes son: push de la ruta hacia la red local interna del servidor. Es la ruta esttica 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.
(2)
Configuracin en el equipo del cliente: En este caso, la configuracin es en el directorio /etc/openvpn/ del equipo cliente. Crearemos el archivo /etc/openvpn/cliente.conf, as quedara el archivo de configuracin:
# Somos cliente client # Protocolo por defecto dev tun # Tipo de dispositivo virtual a utilizar (roadwarrior usa tun) proto udp
# Direccin y puerto del servidor vpn remote 172.17.67.75 1194 # Si hay problemas de resolucin, intenta infinitamente resolv-retry infinite # No hace binding de un puerto local en particular (no sabemos cual est libre) nobind #Las dos siguientes opciones no van en windows user nobody group nobody # Le dice que no lea la llave ante un reinicio persist-key # Le dice que no reinicie la interfaz de red persist-tun # Certificado Raz (el que copiamos) ca ca.crt # Certificado cliente (el que copiamos) cert cliente1.crt # Llave cliente (el que copiamos) key cliente1.key # Modo de compresin comp-lzo #Cantidad de informacin para guardar en el log (de 0 a 11) verb 4 #Archivo log status /var/log/vpn.log
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
Fig. 10.
(2)
Fig. 11.
(3)
Fig. 12.
(4)
Fig. 13.
(5)
Fig. 14.
(6)
Fig. 15.
(7)
Del lado del equipo cliente realizo un ping a las direcciones IP del servidor VPN
# ping -c3 192.168.1.250 # ping -c3 192.168.3.1
Fig. 16.
4. Accediendo a la red VPN (1) En el servidor VPN activamos el reenvi de paquetes y el registro de paquetes:
# echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -A FORWARD -j LOG
(3) En la barra de direcciones del navegador web en el equipo cliente ingreso la IP del
Servidor Web de la red interna.
Fig. 17
Fig. 18.