Certificados LetsEncrypt de Forma Permanente en Ubiquiti UDM/UDM-Pro

Hace un tiempo decidí migrar la red doméstica de la familia a Ubiquiti, esa historia es otra historia… A lo que vamos, es que el certificado autofirmado que trae de serie da algún que otro problema así que me puse a investigar y a la primera encontré un script que había hecho @kchristensen en Github utilizando lego llamado udm-le.

Para conseguir esto hay que habilitar la autenticación SSH en el UDM/UDM-Pro, si no sabes la contraseña de acceso SSH puedes utilizar el botón para cambiar la contraseña.

Ahora para loguearnos utilizamos «Terminal» en macOS, la consola en Linux o el Putty en Windows (no voy a abarcar como hacer conexiones SSH aquí, puedes buscar algún videoturial).

Para conectarnos usamos los siguientes datos:

  • Usuario: root
  • Servidor: IP de nuestro Gateway, por defecto 192.168.1.1 o lo que hayas configurado en las Redes Locales en el Unifi Controller.

Una vez hecho esto instalaremos el paquete que permite que el UDM de forma persistente a través de las actualizaciones arranque los scripts bash que queramos (UDM/UDMPro Boot Script). Para instalar dicho paquete una vez logueados:

unifi-os shell
curl -L https://raw.githubusercontent.com/boostchicken/udm-utilities/master/on-boot-script/packages/udm-boot_1.0.1-1_all.deb -o udm-boot_1.0.1-1_all.deb
dpkg -i udm-boot_1.0.1-1_all.deb
exit

Una vez hecho esto y siguiendo conectados al UDM/UDM-Pro tenemos que copiar todos los siguientes comandos (todos de una vez y pulsar enter) que permitirán «instalar» los scripts UDM-LE que permiten la generación y auto-renovado de los certificados:

curl -Lk0o /mnt/data/udm-le-master.zip https://codeload.github.com/kchristensen/udm-le/zip/master && \
unzip /mnt/data/udm-le-master.zip -d /mnt/data && \
mv /mnt/data/udm-le-master /mnt/data/udm-le && \
cp /mnt/data/udm-le/on_boot.d/99-udm-le.sh /mnt/data/on_boot.d/ \
chmod +x /mnt/data/on_boot.d/99-udm-le.sh && \
chmod +x /mnt/data/udm-le/udm-le.sh && \
rm /mnt/data/udm-le-master.zip

Ahora solo hay que configurar el archivo `/mnt/data/udm-le/lego.env` configurando nuestro proveedor de dominio. Si como yo, utilizas OVH tienes que generar un API Token y cambiar los valores pertinentes, aquí podéis ver las variables de entorno que tenéis que añadir/cambiar.

vi /mnt/data/udm-le/lego.env

Una vez hecho esto debemos de ejecutar:

/mnt/data/udm-le/udm-le.sh initial

Con esto nos pedirá reiniciar el UDM/UDM-Pro y debería estar todo funcionando.


Si queremos desactivar todo esto y desinstalarlo bastará con ejecutar los siguientes dos comandos:

rm -f /mnt/data/on_boot.d/99-udm-le.sh
rm -fr /mnt/data/udm-le

Si queréis comprar un UDM/UDM-Pro, podéis utilizar cualquiera de los siguientes enlaces para apoyar el blog, os costará lo mismo si lo compráis vía Amazon: