vpn peer to peer 830x310 Cómo configurar una VPN peer to peer

La tecnología VPN es utilizada desde hace bastante tiempo en el ambiente corporativo para la conectividad remota, y aunque es una solución muy útil tiene algunas problemáticas que con el tiempo se han visto cada vez más expuestas. Por ejemplo, al centralizar todo el tráfico en el servidor VPN se requiere demasiado trabajo por parte de este para que dos clientes VPN se comuniquen entre sí, con lo cual con el paso del tiempo el servidor puede llegar a convertirse en el cuello de botella y limitar el rendimiento de la VPN en general.

Para subsanar esto es que ha surgido una variante muy interesante y es la de VPN Peer-to-peer o VPN P2P, un modelo que se basa en la tecnología P2P para mejorar lo ofrecido por las VPN tradicionales al descentralizar todo el tráfico que pasa a través de ellas, que ya no es administrado por un solo servidor sino que se distribuye a través de todos los clientes que se conectan a ella. Así pues, cualquier nodo que pasa a formar parte de una VPN puede hacer las veces de cliente y de servidor, ayudando a distribuir el tráfico hacia y desde cualquiera de los otros clientes.

En el mundo Linux, como es de esperar, tenemos varias opciones de VPN P2P, y una de ellas es n2n. Se trata de una alternativa libre disponible bajo licencia GPLv3, que nos permite armar una red VPN Peer-to-peer encriptada y ‘NAT friendly’, es decir que si dos usuarios que forman parte de esta red se encuentran conectados desde diferentes routers la comunicación se podrá realizar a través de la VPN sin problema alguno.

Veamos pues, cómo instalar n2n en Ubuntu:

sudo apt-get install subversion build-essential libssl-dev
svn co https://svn.ntop.org/svn/ntop/trunk/n2n
cd n2n/n2n_v2
make
sudo make install

Ahora configuramos la red P2P con n2n, y para ello tenemos que distinguir antes entre súper nodos y nodos estándar: un súper nodo es aquel que ofrece una dirección IP pública, es decir que esta será fija y conocida por quienes configuren la red, mientras que un nodo estándar es todo aquel se que conecta en forma dinámica a la misma.

Cada VPN P2P necesita de al menos un super nodo, que es el 10.0.0.1 para el ejemplo que vamos a mostrar aquí, y en ese equipo vamos a ejecutar lo siguiente, para indicar en que puerto va a trabajar esta VPN P2P:

supernode -l 5000

Luego, desde cada nodo estándar vamos a conectarnos a la red de la siguiente forma (damos 2 ejemplos, para 2 nodos distintos):

sudo edge -d edge0 -a 10.0.0.10 -c miredvpn -u 1000 -g 1000 -k contraseña -l 10.0.0.1:5000 -m ae:e0:4f:e5:40:5a
sudo edge -d edge0 -a 10.0.0.11 -c miredvpn -u 1000 -g 1000 -k contraseña -l 10.0.0.1:5000 -m ae:e0:4f:e5:40:5b

Algunos aspectos a tener en cuenta son los siguientes:

Nosotros establecemos la contraseña al configurar la VPN, en este caso detrás del parámetro -k (para nuestro ejemplo hemos utilizado la palabra ‘contraseña’, que desde luego no es algo que recomendemos para un uso práctico).

El parámetro -d nos permite especificar la interfaz virtual que se conecta a cada VPN, y lo interesante es que podemos configurar cuantas deseemos, una para cada red, de modo tal que un mismo equipo puede formar parte de un número infinito de redes VPN Peer-to-peer.

El parámetro -u nos permite especificar el usuario y grupo.

El parámetro -m nos permite especificar la dirección MAC que vamos a asignar a cada interfaz virtual, algo muy recomendable de hacer ‘a mano’ en lugar de dejar que sea la red la que lo asigne en forma dinámica y aleatoria ya que así evitamos que el tráfico hacia y desde un cierto nodo se demore mientras se actualizan las tablas de información de la red.

El parámetro -l nos permite especificar la dirección IP y puerto del súper nodo al cual vamos a conectarnos.

Ahora vamos a probar la red, enviando un ping desde un equipo hacia el otro de la siguiente forma:

ping 10.0.0.10

ping 10.0.0.11

Si todo marcha bien, debíeramos ver los paquetes que son enviados de un equipo hacia otro, lo cual quiere decir que hemos configurado perfectamente la VPN Peer-to-peer.

 

Fuente: ubunlog

¿Quién está en línea?

Hay 9320 invitados y ningún miembro en línea