Contents

Instalar y configurar el cliente OpenVPN en GNU/Linux

Enlazando con el anterior artículo donde instalábamos nuestro propio servidor OpenVPN, en esta entrada instalaremos el cliente de OpenVPN en GNU/Linux, con lo cual conseguiremos conectarnos a nuestra red local y además anonimizaremos nuestras conexiones en redes potencialmente inseguras.

/wp-content/uploads/2013/06/openvpn_logo.png
Logo OpenVPN

La instalación del cliente OpenVPN en GNU/Linux guarda muchas similitudes con la de la parte servidor, de hecho el paquete que instalaremos será exactamente el mismo. Este artículo está basado en Debian Wheezy como sistema operativo cliente, pero salvo por la instalación de OpenVPN debería ser igual en otras distribuciones.

Requisitos previos

Disponer de un servidor OpenVPN correctamente configurado al que conectarnos (cosa bastante evidente). Los certificados necesarios para la conexión SSL/TLS:

  • Clave pública de la CA: Sobrebits_CA.crt.
  • Clave pública de usuario: Nombredeusuario.crt.
  • Clave privada de usuario: Nombredeusuario.key.

Los certificados los ubicaremos igual que en el anterior tutorial:

1
2
3
$ sudo mv Sobrebits_CA.crt /etc/ssl/certs/
$ sudo mv Nombredeusuario.crt /etc/ssl/certs/
$ sudo mv Nombredeusuario.key /etc/ssl/private/

Instalación y configuración del cliente OpenVPN

Instalamos OpenVPN con el gestor de paquetes de nuestra distribución. Como esta guía está hecha con Debian vamos a tirar de apt-get:

1
$ sudo apt-get install openvpn

Como se dijo en el artículo de la parte servidor el comportamiento de OpenVPN por defecto es el de *cargar todos los archivos .conf de su directorio /etc/openvpn al ejecutarse el servicio. Puesto que este no es el comportamiento que quiero voy a editar el archivo de configuración de OpenVPN para que la conexión sólo se establezca cuando se le solicite.

1
$ sudo nano /etc/default/openvpn

Y descomentamos la línea:

1
AUTOSTART="none"

Lo siguiente que haremos es copiar el archivo de configuración de cliente de ejemplo que podemos encontrar en el directorio de documentación del programa al directorio de trabajo del mismo.

1
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/

Y lo editamos:

1
$ sudo nano /etc/openvpn/client.conf

Aquí básicamente deberemos configurar tres cosas: la dirección de nuestro servidor OpenVPN, la ruta hacia los certificados anteriormente citados y forzar que todo el tráfico se envíe a través de la VPN.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# Dirección del servidor y puerto
remote tmblck.sytes.net 1194

# Ruta de los certificados
ca /etc/ssl/certs/Sobrebits_CA.crt
cert /etc/ssl/certs/Nombredeusuario.crt
key /etc/ssl/private/Nombredeusuario.key

# Redirigimos todo el tráfico a través de la VPN
redirect-gateway def1

Conectar el cliente OpenVPN a nuestro servidor

Hasta aquí la parte de configuración. Ahora solo debemos abrir un terminal, y ejecutar openvpn pasándole el archivo de configuración anteriormente editado.

1
$ sudo openvpn /etc/openvpn/client.conf

Lo que debería acabar dándonos esta línea:

1
Initialization Sequence Completed

En el momento en el que esto pase ya estaremos navegando a través de la VPN. Para comprobarlo podemos dirigirnos a uno de esos cientos de sitios web donde nos dicen nuestra IP pública o bien:

1
$ traceroute www.google.es

Que debería mostrarnos la ruta de nuestro paquete por la red a la que nos hemos conectado.

Realizar el mismo procedimiento con una interfaz gráfica

Carece de toda emoción hacerlo así, pero podemos optar por realizar este mismo proceso desde una GUI gracias al complemento para Network-Manager de OpenVPN. Para ello instalaremos dicho complemento con:

1
$ sudo apt-get install network-manager-openvpn-gnome

A partir de ahí podemos crear nuestra conexión OpenVPN desde el típico panel de conexiones de red y después gestionar la conexión vía applet que incluya nuestro entorno de escritorio.

Si optamos por este método debemos tener en cuenta de que al ejecutarse Network-Manager sin permisos de root este no puede acceder a la carpeta /var/ssl/private ni leer el certificado privado, ya que ni la carpeta ni el archivo en si disponen de permisos de lectura más que para root, por lo que habría que cambiar la ubicación de los certificados y ubicarlos en nuestro /home y además cambiar los permisos de Nombredeusuario.key