verificación google

viernes, 14 de septiembre de 2018

Cómo instalar el cliente "no-ip" en GNU/Linux Debian 9 Stretch e iniciar en el arranque

logo https://www.noip.com


En esta nueva entrada vamos a realizar la instalación de un DUC (Dynamic Update Client). En concreto se trata de un cliente para la actualización de nuestra IP en un registrador de dominios correspondiente a la marca noip (https://www.noip.com) en  GNU/Linux Debian 9 Stretch y hacer que inicie automáticamente al iniciar la máquina.




Cuando es necesario utilizar un DNS dinámico (Dynamic DNS)

Un DNS dinámico se utiliza cuando no dispones de una dirección IP fija en tu conexión a internet. Esto quiere decir que cada vez que tu router se desconecte tu proveedor de internet le asiganará una dirección IP nueva.

Esto es lo normal y no tiene porqué ser ningún problema. Pero cuando queremos correr algún servicio (web, correo, ftp, ldap, etc.) y queremos publicarlo en internet entonces sí es un problema. Puesto que no podremos configurar ningún dominio apuntando a nuestra IP para publicar el servicio.

Algunas empresas como www.noip.com nos facilitan esto con el uso de DNS dinámicos. El sistema es simple, corremos un servicio dentro de nuestra red que le envíe peticiones a los servidores de www.noip.com, estos servidores identifican esa petición y vinculan la IP desde la que viene la petición con el dominio que hemos configurado.

De esta forma "siempre"* tendremos acceso a los servicios que hemos publicado en nuestra red con salida a internet con IP dinámica.

* digo "siempre" entrecomillado porque este servicio no deja de ser un proceso que cada cierto tiempo envía una petición a los servidores de www.noip.com, puede que tu proveedor de internet por alguna razón cambie tu IP y el dominio configurado en www.noip.com pase algunos minutos sin apuntar correctamente a la dirección IP correcta. Hasta que vuelva a despertarse el servicio y actualice los datos. Por esta razón no aconsejo utilizar este tipo de utilidades para servicios críticos. Si tienes un servicio critico, contrata con tu proveedor de internet una dirección ip fija.

Por otro lado he encontrado algunos routers desde los que se pueden establecer estas configuraciones, de forma que cada vez que cambia de IP le envía la actualización al servidor de www.noip.com. Este método es algo más seguro. Mira si tu router dispone de esta opción.

Instalando el cliente de www.noip.com

Abrimos un terminal identificamos como root, necesitaremos permisos de administrador para realizar todas estas operaciones. Si no tenemos instalado gcc, lo instalamos con este comando:
apt install build-essential gcc
Una vez instalado bajamos el cliente en el directorio /usr/local/src:
cd /usr/local/src
Bajamos el cliente a instalar:
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
Lo descomprimimos:
tar xzf noip-duc-linux.tar.gz
Entramos en el directorio resultante de la descompresión:
cd noip-2.1.9-1
Ejecutamos los 2 siguientes comandos:
make
make install
Si te aparece un mensaje como "make not found" o "missing gcc" es que no has instalado el gcc. Tendrás que instalar un paquete llamado build-essential que es el que contiene todas las utilidades necesarias para realizar las operaciones de compilado de un código fuente. Y posiblemente no has ejecutado el primer paso.

Configurando el cliente

Antes de configurar el cliente es necesario que tengas una cuenta activa en www.noip.com, si aún no la tienes creala. Los tres primeros host son gratis bajo un subdominio que ellos te facilitarán.

Seguimos como root y ejecutamos este comando:
/usr/local/bin/noip2 -C
La "C" tiene que ser mayúscula, con esto empieza el asistente de configuración propiamente dicho y pedirá el correo con el que nos registramos y la contraseña. Luego viene una pregunta importante "Do you wish to update ALL hosts?". Si tenemos varios host creados y respondemos "Yes" nos va a actualizar todos ellos, si respondemos "No" nos va a ir preguntando uno a uno cuales queremos actualizar y luego cada cuantos minutos queremos actualizar.

Ahora ya tenemos el cliente instalado y configurado, podemos ejecutarlo, se quedará funcionando en background:
/usr/local/bin/noip2

Iniciar el cliente con el arranque

Ya tenemos funcionando el cliente, pero nos interesa que cada vez que arranquemos el equipo no tener que ejecutar el comando manualmente, automatizarlo. Para ello creamos un script dentro de "/etc/init.d" con este comando:
nano /etc/init.d/noip2
Y pegamos en él este código:
#! /bin/sh
# /etc/init.d/noip2
# Supplied by no-ip.com
# Modified for Debian GNU/Linux by Eivind L. Rygge <eivind@rygge.org>
# Updated by David Courtney to not use pidfile 130130 for Debian 6.
# Updated again by David Courtney to "LSBize" the script for Debian 7.
### BEGIN INIT INFO
# Provides:     noip2
# Required-Start: networking
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start noip2 at boot time
# Description: Start noip2 at boot time
### END INIT INFO
# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc
DAEMON=/usr/local/bin/noip2
NAME=noip2
test -x $DAEMON || exit 0
case "$1" in
    start)
    echo -n "Starting dynamic address update: "
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;
    stop)
    echo -n "Shutting down dynamic address update:"
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    echo "noip2."
    ;;
    restart)
    echo -n "Restarting dynamic address update: "
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;
    *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac
exit 0

Salimos guardando los cambios y le damos permisos de ejecución:
chmod +x /etc/init.d/noip2
Lo añadimos al inicio con el comando:
cd /etc/init.d/ && update-rc.d noip2 defaults 
Después de reiniciar podemos comprobar que está funcionando con el comando:
ps aux --forest 
Donde podemos ver el proceso de noip2 ejecutándose correctamente.
ps aux --forest
O este otro propio de noip2:
/usr/local/bin/noip2 -S
Que nos devolverá algo parecido a esto:
1 noip2 process active.
Process 135, started as noip2, (version 2.1.9)
Using configuration from /usr/local/etc/no-ip2.conf
Last IP Address set *.*.*.*
Account jmruiz@openhr.cloud
configured for:
host  midominio.ddns.net
Updating every 30 minutes via /dev/eth0 with NAT enabled.

No hay comentarios:

Publicar un comentario