Configuración de OpenVPN para mi nodo

OpenVPN Como ya había prometido, ahora que tengo mi nodo funcionando voy a ir publicando las configuraciones que me ayudaron a dejarlo pronto. En esta ocasión toca OpenVPN.

OpenVPN es una implementación abierta y libre de una Red Virtual Privada, que será la encargada de brindar la seguridad en mi red. Como ya se ha dicho en alguna oportunidad, delegar la seguridad en otras capas sería o bien perder el tiempo, o confiar en sistemas inseguros.

Un manual mucho más completo que este acerca de cómo instalar y configurar OpenVPN en diferentes sistemas operativos puede encontrarse en la documentación del sitio oficial

Así que la idea es que mis cosas privadas y personales, pasan sólo por dentro de la red VPN, en este caso 192.168.0.0/24.

Como todos mis servidores utilzan Debian GNU/Linux, instalar openvpn no es más que abrir una terminal como root y teclear:

trantor:~# apt-get install openvpn

Luego, es necesario generar los certificados y las claves, tanto para el servidor como para cada uno de los clientes. Para eso nos podemos valer de los scripts que se encuentran entre los ejemplos, en /usr/share/doc/openvpn/examples/easy-rsa/2.0/. Configuramos lo necesario en vars, y generamos primero el certificado, y luego las claves para cada uno de los servidores.

A continuación copiamos los certificados y claves a cada uno de los servidores correspondientes, teniendo cuidado de mantener la clave privada de cada servidor donde corresponde.

Finalmente copio a continuación la configuración de mi servidor, y de uno de mis clientes.

Configuración del servidor (Trantor)

#configuracion de openvpn
port 1194
proto tcp
dev tun
#---- Seccion de llaves -----
ca keys/ca.crt
cert keys/trantor.crt
key keys/trantor.key
dh keys/dh1024.pem
#----------------------------
 
server 192.168.0.0 255.255.255.0
push "route 0.0.0.0 0.0.0.0 192.168.0.5"
 
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status server-trantor-udp-1194.log
verb 3

Configuración de un cliente (Kalagan)

client
dev tun
proto tcp
# aqui especificamos que nuestro servidor sera miservidor.tld puerto 1194
remote 10.71.1.1 1194
resolv-retry infinite
 
#esta opción sirve tanto para linux como para windows.
#se debería poner la interfaces en tun/tap en dhcp para que funcione bien.
ifconfig 192.168.0.2 255.255.255.0
 
persist-key
persist-tun
 
ca keys/ca.crt
cert keys/cliente1.crt
key keys/cliente1.key
 
comp-lzo
verb 3

Conclusiones y mejoras

Como verán, no es nada del otro mundo. Esta configuración, con ayuda del firewall que funciona en Trantor, permite que sólo sea posible alcanzar internet a través de la VPN.

Una posible mejora parte de la configuración de las rutas. En este caso es el servidor el que está enviando las rutas a los clientes. Esta configuración puede ser útil para instalaciones donde hay muchos clientes, todos idénticos. Para mi caso, donde cada cliente es un caso particular, esto podría cambiar a una configuración de las rutas del lado del cliente, haciendo en cada caso los malabares necesarios.

Otra mejora en el futuro, es investigar cómo hacer para conectarse a la VPN desde afuera, pero manteniendo a Trantor como gateway principal, de manera que todo el tráfico salga hcaia internet a través de la VPN.

Discusión

Enter your comment (wiki syntax is allowed):
 
blog/configuracion_de_openvpn_para_mi_nodo.txt · Última modificación: 2008/11/02 21:23 por dklight · [Revisiones anteriores]
Recent changes RSS feed Valid XHTML 1.0 Some Rights Reserved Valid CSS Driven by DokuWiki