Compartir
Publicidad
Publicidad

Cómo crear nuestra propia red VPN en Ubuntu

Cómo crear nuestra propia red VPN en Ubuntu
Guardar
35 Comentarios
Publicidad
Publicidad
<p><div class="article-asset-image article-asset-normal"><div class="asset-content">  </div></div></p>

<p>En esta ocasión vamos a aprender a montar <strong>nuestro propio servidor de <span class="caps">VPN</span> <span class="caps">PPTP</span> en Ubuntu</strong>. De esta manera no tendremos que recurrir a usar servicios <strong>de terceros</strong> cuando necesitemos navegar de forma segura desde sitios públicos. Nosotros hemos usado una máquina con <strong>Ubuntu 12.04 64Bits</strong> totalmente actualizado para el tutorial.</p>

<p>Lo primero de todo, saber que nuestro equipo debe tener una <strong>dirección IP estática</strong>, si no sabéis cómo configurarlo adecuadamente podéis aprender a hacerlo, ayer publicamos <a href="http://www.xatakaon.com/equipos-de-red/configurar-una-ip-estatica-en-ubuntu">un tutorial al respecto</a>. Por otro lado el router debe tener el <strong>puerto <span class="caps">PPTP</span> (1723 <span class="caps">TCP</span>) abierto</strong>, sería recomendable abrirlo utilizando la <strong>regla predefinida</strong> en el router.<!--more--></p>

<p>Es preferible <strong>seleccionar la regla específica para PPTP</strong> en el router ya que, además del puerto 1723, necesitamos tener abierto otro puerto que soporte el <strong>protocolo GRE</strong>. Manualmente no podemos realizar esta operación, pero las reglas predefinidas <strong>sí la realizan</strong>.</p>

<p><h2>Comenzamos</h2><br />

Para este tutorial tendremos que recurrir a un terminal, pero tranquilos porque es muy sencillo. No lo hemos explicado de manera “visual” porque el procedimiento es más engorroso y en el fondo tendremos que recurrir al terminal para algún paso. Así que vamos a abrir el terminal pulsando sobre el botón “Inicio”, buscamos “Terminal” y lo abrimos.

<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/4d2dfc/1-2/450_1000.jpg 450w, http://i.blogs.es/4d2dfc/1-2/650_1200.jpg 681w, http://i.blogs.es/4d2dfc/1-2/1024_2000.jpg 1024w, http://i.blogs.es/4d2dfc/1-2/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/4d2dfc/1-2/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/4d2dfc/1-2/450_1000.jpg"></noscript> </div></div></p>

<p><h2>Instalar los paquetes</h2><br />

En el terminal tecleamos la siguiente orden:

    sudo apt-get install pptpd
<p>Una vez tecleada pulsamos <strong>ENTER</strong> para que se ejecute. Ahora vamos a ver <strong>qué significa</strong> cada una de las palabras:
<ul>
    <li><strong>sudo:</strong> Dice al sistema que ejecute lo que le sigue como administrador.</li>
    <li><strong>apt-get:</strong> Programa encargado de gestionar los paquetes del sistema.</li>
    <li><strong>install:</strong> Parámetro que dice a apt-get que deseamos instalar paquetes.</li>
</ul>
<ul>
    <li><strong>pptpd:</strong> Paquete a instalar, en este caso el servidor de <span class="caps">PPTP</span>.</li>
</ul></p>

<p>Dado que el comando se ejecutará como administrador, el sistema <strong>pedirá nuestra contraseña</strong> de usuario. Para mayor seguridad <strong>no se mostrará ningún tipo de símbolo</strong> en la pantalla mientras escribimos dicha contraseña.</p>

<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/1dca52/2-2/450_1000.jpg 450w, http://i.blogs.es/1dca52/2-2/650_1200.jpg 681w, http://i.blogs.es/1dca52/2-2/1024_2000.jpg 1024w, http://i.blogs.es/1dca52/2-2/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/1dca52/2-2/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/1dca52/2-2/450_1000.jpg"></noscript> </div></div></p>

<p>En este caso, apt-get ha detectado que para que se pueda instalar el paquete <strong>pptpd</strong> necesita, además, el paquete <strong>bcrelay</strong>. Antes de realizar acción alguna pide <strong>nuestra aprobación</strong>. Dado que estamos de acuerdo presionamos la tecla &#8220;<strong>S</strong>&#8220; y luego <strong>ENTER</strong> para que comience la <strong>descarga y posterior instalación</strong> de los paquetes.</p>

<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/bef18c/3-2/450_1000.jpg 450w, http://i.blogs.es/bef18c/3-2/650_1200.jpg 681w, http://i.blogs.es/bef18c/3-2/1024_2000.jpg 1024w, http://i.blogs.es/bef18c/3-2/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/bef18c/3-2/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/bef18c/3-2/450_1000.jpg"></noscript> </div></div></p>

<p><h2>Configuración</h2><br />

Una vez finalizado el proceso se iniciará el servidor PPTP automáticamente, pero aún no está configurado, para lo cual ejecutaremos:

    sudo nano /etc/pptpd.conf
<p>Al igual que hicimos con la órden anterior, procedemos a su <strong>explicación</strong>:</p>

<ul>
    <li><strong>sudo</strong>: Dice al sistema que ejecute lo que le sigue como administrador.</li>
    <li><strong>nano</strong>: editor de texto para terminal. Hay cientos de editores pero creo que este es de los más sencillos de utilizar.</li>
</ul>
<ul>
    <li><strong>/etc/pptpd.conf</strong>: Ruta absoluta del archivo que queremos modificar.</li>
</ul>

<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/b27e9e/4-2/450_1000.jpg 450w, http://i.blogs.es/b27e9e/4-2/650_1200.jpg 681w, http://i.blogs.es/b27e9e/4-2/1024_2000.jpg 1024w, http://i.blogs.es/b27e9e/4-2/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/b27e9e/4-2/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/b27e9e/4-2/450_1000.jpg"></noscript> </div></div></p>

<p>Tras ejecutarlo aparecerá <strong>en la misma ventana</strong> del terminal el editor nano. Usando los cursores bajamos hasta <strong>el final del todo e insertamos</strong>, como si se tratara del bloc de notas, las líneas (en la captura la hemos seleccionado para distinguirlas del resto del texto):</p>
    localip 10.10.10.1

    remoteip 10.10.10.100-200,10.10.10.245

Explicación:

  • Primera línea: Especificamos cuál será la dirección IP de nuestro servidor dentro de la VPN. Para que no haya conflicto con las direcciones IP “domésticas”, hemos seleccionado un rango de direcciones distinto.
  • Segunda línea: Especifica el rango de direcciones que usaremos para asignar a los clientes. En la parte anterior a la “,” (coma) hemos especificado un rango y detrás una dirección simple. Con esto hemos querido mostraros las dos posibles formas de especificar las direcciones de los clientes, es decir, que podéis especificar simplemente un rango.

<p>Para guardar los cambios presionamos &#8220;<strong>Control + O</strong>&#8220; y para salir &#8220;<strong>Control + X</strong>&#8220;. </p>

<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/d0e10d/5-2/450_1000.jpg 450w, http://i.blogs.es/d0e10d/5-2/650_1200.jpg 681w, http://i.blogs.es/d0e10d/5-2/1024_2000.jpg 1024w, http://i.blogs.es/d0e10d/5-2/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/d0e10d/5-2/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/d0e10d/5-2/450_1000.jpg"></noscript> </div></div></p>

<p><h2>Añadiendo usuarios</h2><br />

Ahora vamos a añadir usuarios a nuestra VPN. Para hacerlo modificaremos el archivo chap-secrets:

    sudo nano /etc/ppp/chap-secrets
<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/72150f/6-2/450_1000.jpg 450w, http://i.blogs.es/72150f/6-2/650_1200.jpg 681w, http://i.blogs.es/72150f/6-2/1024_2000.jpg 1024w, http://i.blogs.es/72150f/6-2/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/72150f/6-2/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/72150f/6-2/450_1000.jpg"></noscript> </div></div></p>

<p><strong>Formato</strong> (cada espacio es en realidad una tabulación):</p>
    nombre_de_usuario pptpd contraseña *
<p>En nuestro <strong>ejemplo</strong> hemos usado los siguientes pares <strong>usuario/contraseña</strong>:
<ul>
    <li><strong>usuariovpn / password</strong></li>
</ul>
<ul>
    <li><strong>usuario2 / 12345</strong></li>
</ul></p>

<p>Ahora guardamos y salimos, ya sabéis &#8220;<strong>Control + O</strong>&#8220; y &#8220;<strong>Control + X</strong>&#8220;</p>

<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/303fea/7-2/450_1000.jpg 450w, http://i.blogs.es/303fea/7-2/650_1200.jpg 681w, http://i.blogs.es/303fea/7-2/1024_2000.jpg 1024w, http://i.blogs.es/303fea/7-2/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/303fea/7-2/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/303fea/7-2/450_1000.jpg"></noscript> </div></div></p>

Configurando iptables

<p>Hasta este punto ya tenemos todo lo referente a <strong>nuestra <span class="caps">VPN</span> configurado</strong>, tan sólo queda <strong>configurar el cortafuegos</strong> de Ubuntu para que permita el acceso a las conexiones entrantes y <strong>redirija el tráfico</strong>. Para que la configuración <strong>se mantenga</strong> con cada reinicio modificaremos el script <strong>rc.local</strong>:</p>
    sudo nano rc.local
<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/21db43/8-1/450_1000.jpg 450w, http://i.blogs.es/21db43/8-1/650_1200.jpg 681w, http://i.blogs.es/21db43/8-1/1024_2000.jpg 1024w, http://i.blogs.es/21db43/8-1/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/21db43/8-1/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/21db43/8-1/450_1000.jpg"></noscript> </div></div></p>

<p>Vamos hasta el final del fichero e <strong>insertamos ANTES</strong> de la última línea lo siguiente:</p>
    iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
<p>A tener en cuenta:
<ul>
    <li><strong>10.10.10.0/24</strong> : Rango de direcciones que elegimos cuando estábamos configurando <span class="caps">PPTPD</span>.</li>
</ul>
<ul>
    <li><strong>eth0</strong> : Nombre de la interfaz de red. En nuestro caso se trata de <strong>cable</strong>, si fuera <strong>WiFi</strong> recibiría el nombre de <strong>wlan0</strong> .</li>
</ul></p>

<p>Una vez realizados los cambios, <strong>cerramos y guardamos</strong> como hasta ahora.</p>

<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/04fe6c/9-1/450_1000.jpg 450w, http://i.blogs.es/04fe6c/9-1/650_1200.jpg 681w, http://i.blogs.es/04fe6c/9-1/1024_2000.jpg 1024w, http://i.blogs.es/04fe6c/9-1/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/04fe6c/9-1/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/04fe6c/9-1/450_1000.jpg"></noscript> </div></div></p>

<p>Ahora vamos a proceder a activar el IP forwarding, para ello vamos a modificar el archivo <strong>/etc/sysctl.conf</strong>:</p>
    sudo nano /etc/sysctl.conf
<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/3f7700/10/450_1000.jpg 450w, http://i.blogs.es/3f7700/10/650_1200.jpg 681w, http://i.blogs.es/3f7700/10/1024_2000.jpg 1024w, http://i.blogs.es/3f7700/10/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/3f7700/10/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/3f7700/10/450_1000.jpg"></noscript> </div></div></p>

<p><strong>Buscamos</strong> la línea:</p>
    #net.ipv4.ip_forward=1
<p>Y le <strong>quitamos la #</strong>:</p>
    net.ipv4.ip_forward=1
<p><strong>Guardamos</strong> los cambios y <strong>cerramos</strong> el archivo.</p>

<p><div class="article-asset-image article-asset-normal"><div class="asset-content"> <img class="sf-lazy centro_sinmarco" sf-srcset="http://i.blogs.es/b77035/11-1/450_1000.jpg 450w, http://i.blogs.es/b77035/11-1/650_1200.jpg 681w, http://i.blogs.es/b77035/11-1/1024_2000.jpg 1024w, http://i.blogs.es/b77035/11-1/1366_2000.jpg 1366w" sf-src="http://i.blogs.es/b77035/11-1/450_1000.jpg" alt="VPN Ubuntu"><noscript><img alt="VPN Ubuntu" src="http://i.blogs.es/b77035/11-1/450_1000.jpg"></noscript> </div></div></p>

<p>Aunque en un principio podríamos aplicar los cambios <strong>sin necesidad de reiniciar</strong> el ordenador, creo que es interesante <strong>verificar que después de reiniciar</strong> todo continúa funcionando perfectamente. Así que vamos a reiniciar el ordenador desde el propio terminal:</p>
    sudo telinit 6
<p>Listo, ya sólo queda <strong>configurar los clientes</strong> y disfrutar de nuestra <span class="caps">VPN</span>.</p>

<p>En Xataka ON | <a href="http://www.xatakaon.com/equipos-de-red/configurar-una-ip-estatica-en-ubuntu">Cómo configurar una IP estática en Ubuntu</a></p>
Temas
Publicidad

También te puede gustar

Comentarios cerrados
Publicidad
Publicidad

Ver más artículos