lunes, 19 de enero de 2015

Conexión mediante frootvpn en Ubuntu

Frootvpn es un servicio, gratuito al menos de momento, que nos ofrece una conexión vpn previo registro mediante usuario y contraseña. Una vez registrados, para configurar la conexión en Ubuntu seguiremos los siguientes pasos.

Nos hacemos root e instalamos el cliente de openvpn:

$ sudo -i
# apt-get update && apt-get -y install openvpn

Descargamos el fichero de configuración para la conexión a los servidores openvpn de frootvpn:
# wget https://www.frootvpn.com/files/frootvpn.ovpn -O /etc/openvpn/frootvpn.ovpn

Nos desplazamos al directorio /etc/openvpn y creamos los ficheros de configuracion necesarios a partir del fichero anterior:
# cd /etc/openvpn
# sed -n '/^<ca>/,/<\/ca>/{/^<ca>/d;/^<\/ca>/d;p;}' frootvpn.ovpn > ca.crt
# sed -n '/^<cert>/,/<\/cert>/{/^<cert>/d;/^<\/cert>/d;p;}' frootvpn.ovpn > client.crt
# sed -n '/^<key>/,/<\/key>/{/^<key>/d;/^<\/key>/d;p;}' frootvpn.ovpn > client.key

Extraemos la configuración:
# sed '/^<ca>/,/^<\/key>/d' frootvpn.ovpn > client.conf

Y agregamos los siguientes parámetros al fichero de configuración:
# sudo cat <<'EOF' >> client.conf
auth-nocache
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
log-append /var/log/openvpn.log
EOF

Modificamos los permisos del fichero con la clave privada:
# chmod 600 client.key

Eliminamos el fichero de configuracion descargado:
# rm frootvpn.ovpn

Por ultimo agregamos una directiva para el rotado automático de los logs de conexión del cliente vpn:
# cat <<'EOF' > /etc/logrotate.d/openvpn
/var/log/dpkg.log {
monthly
rotate 12
compress
delaycompress
missingok
notifempty
create 644 root root
}
EOF

Iniciamos la conexion vpn, nos solicitara el usuario y contraseña en frootvpn:
# service openvpn start

y confirmamos en el log que todo haya ido bien
# tail /var/log/openvpn
...
Mon Jan 19 13:29:38 2015 Initialization Sequence Completed

Tambien podemos conectarnos a servicios como http://www.cualesmiip.com para confirmar que la ip detectada no coincide con la de nuestro proveedor, sino con la del servidor de la vpn.

Para detener la conexion y continuar navegando "a pelo":
# service openvpn stop

Enlaces de interés

OpenVPN with FrootVPN.

OpenVPN.

OpenVPN for Linux/Debian.

sed/awk - print text between patterns spanned across multiple lines.

How To Manage Log Files With Logrotate On Ubuntu 12.10.

Y nada más, espero os sea de utilidad.