#4sysadmins

Inicio » GNU/Linux » Red privada con OpenVPN

Red privada con OpenVPN

Follow #4sysadmins on WordPress.com

¿Quieres acceder a la red de casa desde la cafetería, desde casa de un amigo…? y que además, ¿la comunicación vaya cifrada y autenticada con SLL/TLS?, incluso con una IP dinámica como es el caso  en la mayoría de los mortales.Para conseguir esto tan solo necesitamos crear un túnel desde nuestra red privada hasta hallá donde estemos, algo que haremos con OpenVPN. Si además contamos con un servidor de archivos, mejor que mejor, así podremos acceder a documentación personal, música, pelis, imágenes, etc…

Entradas relacionadas:

OpenVPN

OpenVPN es una herramienta con la que seremos capaces de configurar en nuestra propia red casera (también es ampliamente utilizado a nivel empresarial) un servidor  que permanecerá a la escucha de una conexión entrante debidamente autenticada, utilizando para cifrar la comunicación el protocolo SSL/TLS.

En las empresas suele ser una buena forma de comunicar diferentes sucursales separadas en el espacio, dando la impresión de que todo el mundo se encuentra en la misma oficina, o bien para permitir a los trabajadores que desde casa o cualquier otro lugar puedan conectar con la oficina…. (ya sabéis, para terminar esas cosillas que faltaban… :’) )

Evidentemente OpenVPN es mucho más

Diagrama de red

Lo que al final se consigue con OpenVPN es crear una red virtual privada (Virtual Private Network) la cual servirá de túnel entre el/los dispositivos externos y un servidor de la red de casa que hará de «pasarela» entre estos y los equipos que tengamos conectados a la red.

tunelopenvpn

La imagen anterior muestra el esquema mas simple y utilizado en redes caseras; en verde el rango de IPs de la red de casa, o aquella a la que queramos conectar y en negro el rango de IPs creados por OpenVPN.

Cuando se crea una VPN el servidor levanta una interfaz virtual, tun0 o tap0 (dependiendo si es Linux o Windows) y como veremos mas adelante, se crea una regla que realice un reenvío (forwarding) entre la interfaz tun0/tap0 y la eth0 (interfaz física de nuestro servidor , la cual está conectada con un switch, o directamente al router (tal y como se muestra en la imagen). Dicho reenvío será el que permita a los equipos de la red 10.8.0.0 conectar con los de la red 192.168.1.0.

Además del forwarding en el servidor, deberemos de crear un port forwarding en el router para que todo el tráfico que vaya destinado al servidor OpenVPN desde el exterior, se reenvíe a la IP (en este ejemplo) 192.168.1.4 y al puerto 1194 (puerto elegido para la VPN).

Importante: no se debe de configurar un rango VPN idéntico al existente en la red a la que vamos a conectar (192.168.1.x en este ejemplo) debido a que el servidor OpenVPN no será capaz de enrutar las comunicaciones.

Gateways

Casi para terminar, aclarar un poco el tema de las puertas de acceso (gateways). Cuando nos encontramos por ejemplo conectados en un equipo de casa y comenzamos alguna comunicación con el exterior (por ejemplo visitar una página web) nuestro tráfico toma la puerta de acceso 192.168.1. (por defecto en la mayoría de los routers). En cambio cuando tenemos la VPN creada y mantenemos una comunicación con la red 10.8.0.0, todo el tráfico que vaya dirigido a alguno de los dispositivos de esa red, pasará por la puerta de acceso de la interfaz túnel (10.8.0.1).

De la misma manera, cada vez que queramos conectar desde el exterior con nuestra red de casa o de la oficina, deberemos de utilizar como pasarela nuestra IP pública (la que nos asigne nuestro proveedor). Entonces el tráfico con origen 10.8.0.x y destino 192.168.1.x, entrará por nuestra IP publica, el router lo reenviará al servidor OpenVPN y este mediante la regla de forwarding lo redirigirá a la red 192.168.1.0. Una vez realizados estos reenvios, mantendremos comunicación.

IP Pública dinámica

Por regla general, nuestro ISP nos asignará una determinada IP pública cada cierto tiempo, entonces… ¿Que pasa si intento conectar con mi red de casa mediante mi IP pública?, pues que posiblemente en algún momento nuestra IP cambie y no podamos conectar.

Para dar solución a esto existen diferentes servicios de pagos y gratis, que cada cierto tiempo chequean tu dirección IP y se la asocian a un nombre de dominio (por ejemplo micasa.undominio.es). Este fqdn (fully qualified domain name) será entonces el que utilizaremos como pasarela a nuestra VPN en vez de la IP.

Nota: micasa.undominio.es no es mas que el dominio que hayamos registrado mediante pago o de forma gratuita.

 

Configurar OpenVPN

Bueno después de aprender un poco la teoría sobre VPN, pasaremos a descargar, instalar y configurar OpenVPN para contar con nuestra red privada.

Además de esto también veremos como hacer que nuestra conexión o pasarela persista gracias a los servicios noIP e incluso creando el nuestro propio.

Todo esto será en la siguiente entrada


3 comentarios

  1. Marsanm dice:

    Buenas, tengo montado un servidor VPn como indicas y la conexión me la realiza y me cambia la IP todo de forma correcta. Pero me gustaría poder poner que las paginas web que sirve mi servidor web de apache solo sean accesibles bajo la VPN. El servidor web esta corriendo en el mismo sitio que el VPN(una raspberry Pi). Este punto no me fucniona, ya que cuando cambio los vhost para que escuchen solo en las ip de la vpn deja de estar accesible aunque este conectado a la VPN.

    Saludos.

    Me gusta

  2. Rafa dice:

    Muy bueno tú texto, OpenVPN hace su función excelente yo lo llegué a usar algunos años y llegué a poder integrar VoIP en los clientes de la VPN sin ningún problema.

    Me gusta

Deja un comentario, Gracias!