Ismael Olea — web personal
Acerca de

«Producir y nutrir,
producir y no poseer,
obrar y no retener,
acrecentar y no regir,
son el misterio de la vida.
»

Lao Tse hablando de procomunes en el siglo VI ac.

Creando un servicio personal de OpenVPN

2016-12-22 00:00:00 +0100

He decidido, por fin, crear mi propio servicio VPN. Los motivos principales son poder asegurar navegación privada y cercionarme que uso un servicio de confianza 100% auditado… por mi.

Requisitos

  • servicio OpenVPN
  • usando docker
  • servidor Centos 7
  • reutilizando alguna configuración existente
  • pero sin reutilizar imágenes publicadas en el Docker Hub, por celo en la seguridad
  • poder conectar desde máquinas Linux y teléfonos Android

La configuración elegida es una creada por Kyle Manna: https://github.com/kylemanna/docker-openvpn/ ¡Gracias Kyle!

Procedimiento de instalación y configuración del servidor

En este caso usamos CentOS 7, pero como no está disponible docker-compose he tenido que retro-portarlo y lo tenéis disponible en un repositorio específico.

Preparación:

cd /etc/yum.repos.d ; wget https://copr.fedorainfracloud.org/coprs/olea/docker-compose/repo/epel-7/olea-docker-compose-epel-7.repo
yum install -y docker docker-compose
yum install -y docker-lvm-plugin.x86_64 docker-latest.x86_64
yum upgrade -y
groupadd docker
usermod -G docker -a USUARIO
echo "VG=sys" > /etc/sysconfig/docker-storage-setup
docker-storage-setup
systemctl enable docker
systemctl start docker

Si docker ha podido arrancar entonces probablemente está listo para empezar a trabajar.

Obviamente también hay que configurar el DNS del servicio VPN.MISERVIDOR.COM en el servidor correspondiente.

Entrando en materia:

mkdir servicio-VPN.MISERVIDOR.COM
cd servicio-VPN.MISERVIDOR.COM
git clone https://github.com/kylemanna/docker-openvpn
cat <<EOF > docker-compose.yml
version: '2'
services:
    openvpn:
        build:
            context: docker-openvpn/
        cap_add:
            - NET_ADMIN
        image: Mi-ID/openvpn
        ports:
            - "1194:1194/udp"
        restart: always
        volumes:
            - ./openvpn/conf:/etc/openvpn
EOF

Y continuando con las instrucciones indicadas:

  • construimos localmente la imagen docker desde cero de una sola vez:
docker-compose run --rm openvpn ovpn_genconfig -u udp://VPN.MISERVIDOR.COM
  • iniciamos la AC local propia (se nos pedirá la contraseña de la clave privada):
docker-compose run --rm openvpn ovpn_initpki
  • finalmente lanzamos el contenedor:
docker-compose up -d openvpn

Procedimiento de altas de usuarios

  • Alta del usuario:
docker-compose run --rm openvpn easyrsa build-client-full USUARIO nopass
  • generación de la configuración local de OpenVPN para el mismo usuario:
docker-compose run --rm openvpn ovpn_getclient USUARIO > USUARIO.ovpn
  • Este fichero lo copiaremos a nuestra máquina porque es el que nos habilitará el acceso VPN.

Problema importando configuraciones de OpenVPN y NetworkManager

Personalmente me he encontrado el problema varias veces de que el GUI de configuración de NetworkManager no es capaz de importar los certificados criptográficos al configurar una conexión VPN importando ficheros ovpn. Tras investigarlo varias veces he concluido que se debe a un bug documentado que en mi caso no está resuelto en NetworkManager-openvpn-gnome-1.0.8-2.fc23 pero sí en NetworkManager-openvpn-gnome-1.2.4-2.fc24.

Si aún os encontráis con ese problema habría dos alternativas: o actualizar a una versión reciente de NM o conectarse manualmente desde el CLI:

sudo /usr/sbin/openvpn --config USUARIO.ovpn

Conferencia: HackLab Almería, un modelo de dinamización tecnológica hiperlocal

2016-11-24 00:00:00 +0100

El 24 de noviembre he sido invitado a charlar para hablar de la experiencia de HackLab Almería en un evento en Antequera organizado por IBM. He aprovechado para seguir trabajando en el material retrospectiva del HackLab Almería que preparé para el GDG Spain Summit y lo he adaptado a formato de transparencias con mi agradecido Slidy.

Las transparencias están disponibles en http://olea.org/conferencias/doc-conf-20161124-Encuentro-IBM/

captura de pantalla de las transpas

Además voy a tener la oportunidad de volver a impartir la conferencia en un par más de ocasiones así que creo que refinaré más aún este material, que también me sirve para profundizar la retrospectiva de los dos años largos que he dedicado a «la movida HackLab Almería».

Gracias a Haroldo Díaz Armas por la invitación, a Elisa Martín Garijo por sugerir mi persona y a Javier Bentabol por su entusiasmo con nosotros.

Retrospectiva HackLab Almería 2012-2015 y pico

2016-09-26 00:00:00 +0200

Este fin de semana tuve el privilegio de ser invitado por GDG Spain y en particular por ALMO para presentar en el Spanish GDG Summit 2016 la experiencia de la actividad en el HackLab Almería:

Aunque llegué muy inseguro porque soy muy crítico con los que considero fracasos míos, al conocer las vicisitudes de los grupos locales del GDG comprobé que a nosotros no nos va tan mal y que tenemos experiencias muy interesantes para terceros.

De paso me ha servido para reconsiderar parte del trabajo hecho y para documentar más claramente nuestras cosas para nuestra propia gente: creo que es buena idea que todos le demos un repaso.

Es posible que haya algún error y alguna carencia. Todas las opiniones son absolutamente personales y no todo el mundo ha de compartirlas. No tengo tanto interés en discutir las afirmaciones como de corregir errores o inconsistencias. Tened presente de que no es una memoria completa de actividades porque eso sería enooorme, sólo una retrospectiva esquemática.

Está escrita en formato de mapa-mental usando Freemind 1.0.1. El formato tal vez os parezca engorroso, pero las restricciones de tiempo y de presentación de la información no me han permitido nada mejor. Lamento las molestias. Podéis descargar el fichero que incluye el mapa desde aquí: 201609-GDG-Experiencia_HackLabAl.zip

PS: esta misma entrada ha sido publicada en el foro del HackLab Almería.

  • Ismael Olea — web personal
  •  

Pastoreando procomunes desde 1994 — Shepherding the commons since 1994

This website runs on green hosting - verified by thegreenwebfoundation.org GPDR friendly statistics