Lo mejor de 2009: Red Privada Virtual (VPN) en un entorno Mac, por Miquel Nebot

En multitud de ocasiones podemos encontramos ante la necesidad de disponer de una red privada o particular como la que podamos tener en casa o en nuestro lugar de trabajo pero esta vez a través del canal público que es Internet. Puede resultarnos de inmensa utilidad tener a mano nuestros documentos y otros archivos para utilizarlos en un lugar remoto.

La primera idea que nos viene a la cabeza es que esto tiene fácil solución. El protocolo FTP (a través de las archiconocidas aplicaciones Transmit, Filezilla, Cyberduck…) nos brinda la posibilidad de intercambiar archivos con un servidor remoto de manera sencilla y eficaz, procediendo a la carga o descarga desde nuestro lugar de trabajo.

Intentemos pero, dar una vuelta más de tuerca y conseguir disponer sobre nuestro escritorio de una unidad de red propia ubicada en un lugar remoto y aún más, incrementando el nivel de seguridad en la transferencia de archivos hasta un límite inalcanzable a través de otros protocolos. Utilicemos la tecnología de red VPN.

Diversas secciones de este tutorial hacen referencia al ya publicado Acceso Remoto a través de un entorno Mac por lo que recomendamos su previa lectura.

¿Por qué?

  1. Porque permite unir dos lugares separados físicamente en la distancia conformando lo que sería una red local a través del canal de Internet.
  2. Porque el nivel de seguridad que se consigue con esta tecnología es muy elevado. Protocolos como el FTP, POP3, HTTP… viajan por la red en “abierto” de manera que es muy sencillo interceptar nuestra comunicación y espiar la información.
  3. Se reduce infinitamente el coste que supondría unir a través de red cableada o satelital dos sedes de una misma empresa distantes geográficamente (éstas, además del VPN, serían las únicas soluciones para garantizar la seguridad de los datos).
  4. Permite aislar una zona determinada dentro de una red privada. Nos es posible hacer invisibles determinados servidores habilitándolos sólo para la conexión a través de VPN, así evitamos que “todos” tengan acceso a los datos más comprometidos.

¿Qué necesitaremos?

Dos ordenadores Mac, uno que efectuará las labores de servidor de VPN y otro las de cliente. También veremos la posibilidad de acceder a nuestro entorno virtual a través de un Pc a través de Windows Xp Professional.

En OS X Leopard Server encontramos de manera nativa el servicio de Servidor de VPN, como generalmente no disponemos de la versión Server de nuestro sistema operativo deberemos hacer referencia a otras opciones o recursos. Pasemos entonces a descubrir la opción iVPN. iVPN es un sencillo servidor VPN con una intuitiva interfaz gráfica que podemos encontrar con un reducido coste. Existen otras opciones de carácter gratuito que resultan mucho más complicadas al tener que operar bastante a través del Terminal.

VPN_on_mac_2009-02.jpg
Servidor VPN. Servicio nativo de OS X Leopard Server

VPN_on_mac_2009-04.jpg
iVPN. Servidor VPN

Empecemos con el VPN en una misma red local. iVPN

En primer lugar y atendiendo a la justificación del último punto “por qué” de la sección anterior, conformaremos una red privada virtual para acceder a una serie de archivos sólo disponibles para determinados usuarios de la red local.

Deberemos haber adquirido el programa iVPN a través de la web del propietario y tenerlo instalado en el equipo que realizará las tareas de servidor. La configuración del programa es extremadamente sencilla. Existen dos protocolos de conexión a través de VPN con diferencias sustanciales entre ellos a nivel de seguridad:

  • PPTP (Point to Point Tunneling Protocol) es un protocolo diseñado por Microsoft que ha sido ya descifrado y debería olvidarse en entornos en los cuales la confidencialidad e importancia de los datos sea comprometida.
  • L2TP (Layer 2 Tunneling Protocol) nació como respuesta a las deficiencias mostradas por el protocolo anterior ofreciendo, ahora sí, un elevado nivel de seguridad.
  • Accediendo ya a la interfaz del programa seleccionaremos la opción L2TP y a continuación procederemos a editar las cuentas de los usuarios que queremos que tengan conexión (Edit Accounts).

    VPN_on_mac_2009-03.jpg
    Tipos de protocolo disponibles en iVPN

    En el apartado siguiente simplemente crearemos un usuario y su contraseña (Add) y finalmente guardamos los cambios (Done). (Para nuestras pruebas hemos creado el usuario “clienteVPN”)

    Este tipo de protocolo además de la contraseña habitual del usuario se requiere un Secreto Compartido que deberemos añadir en la opción Shared Secret y que también deberemos configurar más adelante en el equipo cliente. Utilizaremos aquí valores alfa numéricos consiguiendo una combinación lo más compleja posible añadiendo tanto números como letras combinados con mayúsculas y minúsculas.

    Podemos también marcar las opciones de que permita claves de 40 bit y que arranque al inicio.

    Si vamos a utilizar el servidor VPN a través de clientes Windows, podemos optar por utilizar también el protocolo PPTP (aunque también el L2TP es válido y como hemos comentado más seguro), la combinación de los dos es posible y el programa los soporta al mismo tiempo.

    Anejo a este apartado, en la zona derecha, encontramos dos valores a tener en cuenta.

    Cuando un equipo se conecta a otro mediante VPN, el equipo servidor debe otorgar una dirección IP al equipo cliente para identificarlo dentro de su red. Por eso, en las casillas From y To del rango de direcciones IP (IP Address Range) deberemos establecer un rango de direcciones que queremos asignar a las posibles máquinas que se conecten a través de VPN. Es muy importante verificar que dentro de este rango no existe ninguna IP ya existente o asignada en nuestra red, por ejemplo la del servidor, ya que se podría producir un error al intentar el servidor asignar una misma IP a dos máquinas diferentes.

    Como podéis ver en la imagen hemos asignado un rango de 10 IP válidas, evitando cualquier tipo de coincidencia con otras ya asignadas manualmente a otros equipos. Sólo nos quedará introducir dos direcciones de servidor de DNS. En este caso utilizo las de www.opendns.com ya que resuelven con rapidez y solvencia. Podéis utilizar las mismas o las que utilizáis habitualmente en la configuración de vuestro router.

    VPN_on_mac_2009-05.jpg
    Rango de IP para las máquinas cliente. Servidor de DNS

    VPN en una misma red local. El servidor

    Como ya hemos visto, acabamos de configurar y perfilar los parámetros básicos para que el programa iVPN permita el acceso a nuestro servidor. A continuación deberemos crear un usuario “X” (en nuestro caso lo hemos llamado “clienteVPN”) con los permisos que creamos oportunos sobre un directorio determinado. Por ejemplo, en nuestro caso, a la carpeta “publica” le hemos dado permisos de lectura y escritura al cliente creado (fijaos que hemos denegado los permisos al resto de usuarios excepto al administrador del equipo -borrado-)

    VPN_on_mac_2009-16.jpgVPN_on_mac_2009-19.jpg
    Creación usuario cliente. Asignación permisos a carpeta determinada

    VPN en una misma red local. La máquina cliente

    Finalmente y una vez configurado el programa iVPN además de haber creado el usuario VPN y aplicados los permisos a los directorios determinados, sólo nos resta configurar una conexión VPN en la máquina cliente.

    Para ello, Preferencias del Sistema > Red > + > Interfaz: VPN > Tipo de VPN: L2TP sobre IPSec > “el nombre que queramos para la conexión VPN” (por ejemplo en nuestro caso “VPN Local”

    VPN_on_mac_2009-17.jpg
    Tipo de Interfaz. Tipo de VPN y nombre del servicio

    Una vez elegidos los parámetros anteriores añadimos la dirección IP del servidor de VPN, en nuestro caso 10.0.0.5 y el nombre de usuario que tendrá acceso a los directorios determinados, “clienteVPN”.

    VPN_on_mac_2009-18.jpg
    Dirección IP del servidor VPN y nombre de usuario

    Finalmente sólo nos quedará introducir en Ajustes de autenticación la contraseña del usuario y el secreto compartido Shared Secret introducidos previamente en iVPN.

    VPN_on_mac_2009-20.jpg
    Contraseña del usuario y el secreto compartido

    Sencillamente, guardando y aplicando los cambios ya tendremos lista nuestra conexión. Después Conectar y podremos verificar si establece la conexión con el servidor.

    Una vez conectado desde el Finder podremos ver en la sección Compartido que ha aparecido nuestro servidor y al seleccionarlo nos permite acceder al directorio previamente compartido.

    VPN_on_mac_2009-06.jpg
    Servidor compartido con acceso a la carpeta predefinida

    Si nos resulta un engorro el tener que buscar a través del Finder la conexión podemos crear un atajo para el acceso inmediato. Cmd+K y escribimos la ruta del archivo que, una vez establecida la conexión por VPN queremos quedé montada sobre nuestro escritorio.

    AFP (Apple File Protocol), nombre o dirección IP de servidor y la carpeta que deseamos montar en nuestro escritorio.

    VPN_on_mac_2009-07.jpg
    Conexión con carpeta asignada

    VPN_on_mac_2009-08.jpg
    Carpeta montada en escritorio

    VPN a través de Internet

    Para tal función deberemos tener en cuenta dos condiciones:

    1. Si nuestra IP es dinámica deberemos convertirla en fija a través de alguno de los servicios gratuitos que existen (véase guía anterior Acceso Remoto a través de un entorno MAC).
    2. Deberemos abrir los siguientes puertos en el router redireccionándolos a la IP de nuestro servidor de VPN:

      • Para conexiones VPN PPTP > 1723 TCP
      • Para conexiones VPN L2TP IPSec > 500 UDP y 4500 UDP
      • (en nuestro caso los dos a la IP del servidor 10.0.0.5)

    A continuación deberemos repasar únicamente el apartado Dirección servidor de la conexión VPN que hemos creado en el ordenador cliente modificando la dirección IP por el nombre del servicio NO-IP creado (véase guía anterior Acceso Remoto a través de un entorno MAC), en nuestro caso prueba2009.no-ip.biz.

    VPN_on_mac_2009-18.jpg
    Conexión VPN en equipo cliente

    Apéndice

    Es posible que debamos acceder a nuestro servidor Mac de VPN a través de un entorno Windows. Es laborioso pero para nada complejo. Tomad nota.

    Inicio > Panel de Control > Conexiones de Red > Asistente para conexión nueva

    VPN_on_mac_2009-10.jpg
    Tipo de conexión a realizar

    VPN_on_mac_2009-11.jpg
    Conexión a través de VPN

    VPN_on_mac_2009-12.jpg
    Nombre del servidor VPN. Si es en la red local la dirección IP si no, el nombre del servicio utilizado, por ejemplo en NO-IP

    A continuación ya tenemos creada nuestra conexión donde sólo nos faltaría incluir en nombre de usuario “clienteVPN” y su contraseña. Pero aún, no es suficiente, deberemos acceder a Propiedades para modificar dos opciones más.

    En la pestaña de Seguridad, añadir el Secreto compartido establecido en iVPN de nuestro servidor.

    VPN_on_mac_2009-13.jpg
    Secreto compartido

    Finalmente en la pestaña Funciones de red seleccionar que el tipo de protocolo que utilizamos es el L2TP IPSec.

    VPN_on_mac_2009-14.jpg
    Tipo de protocolo utilizado. L2TP IPSec

    Conectar y si no hay ningún problema debemos tener conexión con nuestro servidor VPN en Mac.

    Una vez conectado se me han presentado infinidad de problemas a la hora de explorar la red y, tratándose de conexiones a través de Internet puede llegar a colgarse el proceso de exploración. Por eso, os recomiendo crear el siguiente archivo .bat que nos permitirá montar automáticamente y sin “rechistar” las carpetas compartidas creadas en el servidor.

    A un documento de texto cualquiera le cambiamos la extensión por la de .bat. A continuación escribimos lo siguiente:

    NET USE m: \prueba2009.no-ip.biz /user:WORKGROUPclienteVPN **********

    Describamos lo redactado:

    • NET USE > monta la unidad que se describe a continuación.
    • m: > letra de unidad cualquiera, no utilizada en el pc (evitar c: a: d: …).
    • \ > doble barra (dejad un espacio entre la unidad de red y la doble barra).
    • prueba2009.no-ip.biz > nombre del servicio o en su defecto la IP del servidor (si es en red local)
    • /user:WORKGROUP > deberemos conocer el grupo de trabajo al cual está asignado nuestro servidor VPN Mac. Si no hemos cambiado, generalmente es WORKGROUP.
    • clienteVPN > nombre del cliente
    • ********* > la contraseña establecida para dicho cliente (fijaos bien que entre el nombre de usuario y la contraseña debemos dejar un espacio).

    Guardaremos y, una vez conectados por VPN si hacemos doble clic sobre el archivo .bat, en Mi Pc encontraremos la unidad de red publica disponible.

    VPN_on_mac_2009-15.jpg
    Unidad de red montada

    Espero os haya parecido interesante e ilustrativo. Un saludo a todos.

    Miquel Nebot.

    2 Comments

    1. Anónimo

      La idea es muy buena, pero teniendo en cuenta su precio ( que no es mucho ), soluciones como openVPN dan mucho mas juego, sobre todo si vamos a entrar desde empresas, unis, etc… que tienen muy capado el trafico a internet. Yo lo tengo con OpenVPN,PPTP,L2TP (ipsec) por si acaso, pero openvpn es el que mas uso

    Deja una respuesta