Cómo hacer que un servicio Systemd dependa de una conectividad por VPN

Supongamos que quieres hacer que el servicio Docker dependa de una conexión VPN establecida llamada guybrush, y que estás configurando un servidor Ubuntu 16.04.

Para ello, necesitarás primero añadir una configuración para tu VPN, la cual colocaremos en /etc/openvpn/guybrush.conf. No es el propósito de esta entrada hablar de cómo configurar OpenVPN, así que supondremos que ya sabes sacar eso.

Tan solo con colocar ahí ese fichero, Systemd se dará cuenta y nos creará el servicio openvpn@guybrush.service. Normalmente, al arrancarlo nos creará una nueva interfaz de red llamada tun0.

Ahora vamos a crear una extensión a docker.service, y para eso crearemos el fichero /etc/systemd/system/docker.service.d/guybrush.conf con este contenido:

[Unit]
After=sys-devices-virtual-net-tun0.device
Requires=openvpn@guybrush.service sys-devices-virtual-net-tun0.device

Esto añade estas configuraciones a la que traiga por defecto el servicio Docker, y básicamente le dice que antes de arrancar Docker arranque la VPN guybrush, y espere a tener tun0 disponible.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s