04 noviembre, 2015

Configurar DDNS para accesos remotos (NoIP) en Windows o Linux

Hoy en día existe gran información en internet sobre como crear un DDNS (Dynamic Domain Name System), pero simplemente como apunte personal y con motivo de entradas posteriores que iré publicando, escribiré esta entrada para tenerla como referencia.

En una red convencional disponemos de un rango de IPs internos (LAN) los cuales hacen NAT para salir a otras redes externas hacia Internet, NAT traduce las peticiones de todas las direcciones IPs internas en una única direción IP externa/pública la cual es proporcionada por nuestro ISP.
Esta dirección IP pública cada vez que solemos reiniciar el router y esperamos el TTL suficiente para que expire la concesión de esa misma dirección IP o sencillamente nuestro ISP la "cambia" por otro dirección perdemos la pista de ella, ya que normalmente los usuarios domesticos no disponen de un dirección IP estática por parte de su ISP, en ese caso habría que negociar una posible dirección IP estática para uso doméstico y tendríamos que pagar un plus a mayores por este servicio.
Por esa razón para acceder de una red externa a nuestra red personal, deberíamos saber en todo momento que dirección IP pública que tenemos asignada en ese momento por nuestro ISP. Por lo que DDNS nos permite asociar una dirección IP pública a un nombre de dominio el cual podamos recordar y el cual se esté enviando de forma periódica solicitudes de renovación por un posible cambio de dirección IP en el que el servicio que escojamos nos mantenga actualizada la redirección del nombre de dominio a la dirección IP pública que tengamos asignada en ese momento.

Existen diversas web que ofrecen este tipo de servicio con un simple registro de cuenta en el sitio web en cuestión.
Algunos sitios son gratuitos y otros de pago, muchos de los sitios gratuitos que ofrecen los servicios DDNS son gratuitos durante un periordo de tiempo y después habría que ir renovándolo, lo que supondría cambiar el nombre de dominio paulatinamente.

Comentar antes de nada que simplemente bastaría con darse de alta en el proveedor de servicio que ofrezca DDNS, creando una nueva cuenta de usuario, este ya detecta la IP pública actual y cuando añadimos un host DDNS este servicio ya redirecciona el nombre de host a la IP pública de forma automática, (en ocasiones dependiendo el tipo de dominio puede tardar más o menos en actaulizar la información).
Pero en el caso de un posible cambio de IP pública por parte de nuestro ISP habría que notificar al servicio que nos ofreció DDNS que hay una renovación de dirección IP, para mantener esta actualización de dirección IP tendremos dos formas de hacerlo.

[1] - Configurando nuestra cuenta DDNS en nuestro router y tipificando el servicio oportuno.
[2] - Configurando un cliente del propio servicio con nuestra cuenta DDNS en el sistema.

En mi caso y para ilustrar esto con un ejemplo me basaré en los servicios DDNS que ofrece noip.com.

En primer lugar nos registramos en el web de noip.com, elegimos que queremos crear nuestro hostname más tarde y en un princpio elegimos un servicio gratuito DDNS. En el que nos pedirá un user y password vinculado a una dirección e-mail.

 Figura 1: Registro gratuito en noip.com

Una vez nos registramos confirmamos la activación de cuenta y accedemos al Cpanel de nuestra cuenta noip.
Añadiremos un nuevo host por lo que nos dirijimos a la sección: Host/Redirects > Add host > y creamos un nuevo hostname podremos escoger entre múltiples tipos de dominios. Dejaremos el el tipo de host en DDNS Host (A).
En este punto y en el caso de noip, de manera opcional nos deja elegir si queremos pasar a un servicio de pago en el que durante un año tendremos diversas ventajas que no tendremos con un servicio gratuito.

 Figura 2: Añadiendo un hostname DDNS en noip.

Con esto ya tendríamos configurado una cuenta con un hostname DDNS en noip. El cual apuntaría a la dirección IP pública actual. Si queremos que esta información se actualize con el paso del tiempo, por si nuestro ISP nos asigna otra dirección IP pública distinta.

Como ya había comentando tendríamos dos opciones:

[1] - Si es posible y nuestro router personal (SOHO) nos lo permite, configuramos la cuenta DDNS que creamos anteriormente.
IMPORTANTE: Tendremos que mirar no solo de si nuestro router nos permite configurar un DDNS, sino si el servivio DDNS es de la mismo proveedor en la que creamos la cuenta (DynDNS, NoIP, TZO, etc.) hay routers neutros que disponen de la mayoría de proveedores, pero no todos son así.


En el panel de configuración del router busqueremos la sección de DDNS en la que tendremos que introducir el hostname creado seguido del tipo de servicio, en este caso tipificariamos el proveedor No-IP, el ciclo de actualización sería "Cambio de IP" y por último, user y password de la cuenta creada.
NOTA: La interfaz de cada router suele variar de unos modelos a otros, pero la idea sigue siendo la misma.


Figura 3: Configuración de cuenta DDNS en router SOHO.

[2] - En el caso de que no dispongamos de esta opción en nuestro router o sencillamente nuestro router no disponga del servicio del proveedor en el que nos habíamos registrado (en este caso No-IP) y solo dispongamos de DynDNS. Entonces, tendremos que instalar el cliente DUC de noip en nuestro equipo local anfitrión este mantendrá la IP pública actualizada y sincornizada con nuestra cuenta noip de modo que nuestro hostname DDNS siempre nos redirija a la IP actual en todo momento existosamente.
DUC está disponible para sistemas Windows/Linux/MacOS.

Instalación y configuración de DUC (noip) en Windows.

Descargamos el cliente de la web oficial llamado DUC (Dynamic DNS Update Client), simplemente lo descargamos lo instalamos e introducimos nuestras credenciales de cuenta.Veremos que tendremos el cliente corriendo en nuestro sistema, si lo deseamos podremos establecer una password de acceso para las configuraciones del cliente.

Figura 4: DUC inicializado y corriendo en el sistema.

En los servicios de Windows podemos comprobar que el servicio de noip-DUC está iniciado en background en el sistema (ducservice.exe).

Figura 5: Servicio de DUC iniciado en el sistema.

Cada vez que encendemos nuestro equipo tendremos que ejecutar de forma manual DUC si queremos que el servicio esté iniciado en el sistema.
Si queremos que el servicio de la cliente DUC se inicie de forma automática en el sistema, tendremos que activar los checkbox de inicio automático en el arranque del sistema. Startup para el servicio y para la propia aplicación cliente DUC.

 
Figura 6: Habilitar inicio automático del servicio/cliente DUC en el arranque del sistema.


Instalación y configuración de DUC (noip) en Linux (Ubuntu).

Abrimos una terminal con permisos de superusuario (sudo su). Descargamos el siguiente paquete:
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
Descomprimimos el paquete.
tar xzf noip-duc-linux.tar.gz
Entramos en el directorio.
cd no-ip-2.1.9
Instalamos.
sudo make
Si tenemos probelmas para instalar make será necesario instalar el compilador gcc.
sudo apt-get install gcc
Instalamos con make.
sudo make install
Configuramos noip, en el que tendremos que introducir la cuenta creada en noip y seleccionar el DDNS.
/usr/local/bin/noip2 -C
En mi caso dispongo de varios DDNS, por lo que tuve que seleccionar solo uno de ellos.

Figura 7: Asisten de configuración por terminal de una cuenta noip en Linux.

Iniciamos la el cliente noip.
sudo /usr/local/bin/noip2
Figura 8: Script de llamada de inicio para noip2

Si queremos que noip2 se carga de forma automática en el arranque del sistema.

Creamos un fichero.
sudo nano /etc/init.d/noip2
En este fichero agregamos la siguiente instrucción.
#! /bin/sh
sudo /usr/local/bin/noip2
Figura 9: noip2 corriendo en el sistema.

Le damos permisos de ejecución al fichero.
sudo chmod +x /etc/init.d/noip2
Agregamos la entrada al fichero de inicio.
sudo update-rc.d noip2 defaults
Ayuda de parámetros NoIP:
/usr/local/bin/noip2: Arranca el cliente noip
/usr/local/bin/noip2 -C: Configura el cliente noip
/usr/local/bin/noip2 -S: Visualiza el Estado del Cliente
/usr/local/bin/noip2 -D pid: Cambia el estado de depuracion del cliente pid
/usr/local/bin/noip2 -K pid: Finaliza el cliente pid

Más información sobre la instalación del cliente DUC de NoIP en su web oficial:
En Windows: http://www.noip.com/support/knowledgebase/installing-the-windows-4-x-dynamic-update-client-duc
En Linux: http://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client

Saludos!

0 Comentarios :

Publicar un comentario

Entradas Relacionadas