Si tenim un ADSL amb IP Dinàmica, necessitarem un redreçament del DNS dinàmic. Quan un usuari intenta accedir a una web que tinguem allotjada al nostre servidor, està accedint al domini o subdomini que tenim registrat, enviant aquesta petició cap a l'última IP que el client que tenim instal·lat (DUC - Dynamic Update Client) en el servidor va enviar, el servidor enviara de tant en tant la nostra IP cap a No-IP, d'aquesta manera ens mantenim connectats al nostre subdomini, el servidor estarà a l'espera i en arribar la petició del subdomini, enviarà al client la web que va demanar.
No-IP anirà relacionant la nostra IP amb el subdomini que nosaltres elegirem durant el registre. L'esmentat subdomini sempre estarà relacionat amb la nostra IP encara que siga dinàmica, ja que per això instal·larem un client al nostre servidor, que s'encarregarà d'enviar cada cert temps un avís amb la IP que tenim actualment, així el subdomini o domini que l'introduïm en un navegador serà capaç de trobar el nostre servidor des d'internet.
Tinc un ADSL amb la IP Dinàmica, si la tingués fixa, amb aprendre-la seria suficient per a trobar el meu servidor des d'internet, però com no la tinc necessite un redreçament de DNS dinàmic com el que ens ofereix entre altres l'empresa no-ip.
Obtenir un subdomini
Per a obtenir un subdomini amb no-ip, ens registrarem des de la web oficial de No-Ip fent clic ací mateixa. Per registrar-nos gratuïtament haurem de prémer sobre la pestanya Sign Up que està situada dalt i seguirem els passos que ens indique.
Ara registrarem un subdomini, per fer això necessitarem identificar-nos en la web de No-Ip prement la pestanya Log in, omplim amb les nostres dades i després el botó Login.
- Crearem el subdomini per trobar el nostre servidor des d'Internet, prement la icona situada a l'esquerra Dynamic DNS.
- A continuació premem la tecla Create Hostname.
- Per començar introduirem a la casella Hostname el nom que vulguem, jo he posat el nom 'servidorsroig'.
- Després hem de seleccionar el domini que no-ip ens deixa per poder redreçar-nos, jo he elegit 'sytes.net'. Perquè us surta gratis, ha de ser sota Free Domains.
- La resta el deixem tal qual i premem el botó Create Hostname.
Ja tenim l'adreça web amb què trobarem el nostre servidor des d'Internet. Ara necessitem configurar el client perquè envie l'avís amb la nostra IP externa cada cert temps, segons li indiquem.
Nota: En segons quins routers podeu configurar el client no-ip sense problemes, i així prescindir de configurar el client al servidor. Si el vostre router no disposa d'aquest servei, no us preocupeu, ja que podem configurar el client no-ip sense problemes.
Instal·lació del client no-ip
Els següents ordres han de ser executats des d'una finestra de terminal (símbol del sistema), després d'iniciar sessió com a usuari "root". Es pot convertir en l'usuari root des de la línia d'ordres mitjançant la introducció de "su - root" seguit de la contrasenya de root al sistema.
Engeguem el nostre servidor com superusuari root i instal·lem el software client de no IP:
1.- Anem al directori on instal·larem el Client "DUC" cd /usr/local/src.
root@server-angles:~# cd /usr/local/src
2.- Descarreguem el client des de la pàgina:
root@server-angles:/usr/local/src# wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz
3.- Descomprimim l'arxiu que baixem:
root@server-angles:/usr/local/src# tar xvzf noip-duc-linux.tar.gz
4.-Cerquem el nom del directori creat:
noip-2.1.9-1 noip-duc-linux.tar.gz
5.- Entrem dins del directori creat:
root@server-angles:/usr/local/src# cd noip-2.1.9-1
root@server-angles:/usr/local/src/noip-2.1.9-1#
6.- Compilem, per això escrivim a la consola l'ordre make, Si no tenim make instal·lat, ens respondrà una cosa semblant a -su: make: No s'ha trobat l'ordre. Per instal·lar make:
root@server-angles:/usr/local/src/noip-2.1.9-1# apt install make && apt install gcc
Una volta instal·lat make, continuem amb la instal·lació del cient no-ip:
root@server-angles:/usr/local/src/noip-2.1.9-1# make install noip2.c
Automàticament ens preguntara:
- L'email/login del nostre compte no-ip, ho introduïm i premem intro.
- Passara a preguntar-nos el password del compte no-ip, ho introduïm i premem intro.
- A continuació ens dirà els host que estan associats a aquest compte, si tenim diversos subdominis, ens preguntara si volem tenir-los tots actualitzats, o quin volem tenir actualitzat.
- Després ens preguntara el període d'actualització per defecte 30 jo ho he passat a 15.
- Ens preguntara si volem fer alguna cosa, després d'una actualització correcta li diem que no. I ens copiarà l'arxiu de configuració a /usr/local/etc/no-ip2.conf.
Quan acaba l'execució d'aquest script el client de no-ip està instal·lat i configurat. Tan sols resta executar l'script. Per executar el client:
root@server-angles:/usr/local/src/noip-2.1.9-1# /usr/local/bin/noip2
Així s'activarà el programa de No-IP per actualitzar la IP dels dominis que hem configurat.
Configuració del client del client no-ip
Amb aquest procés ja tenim configurat el client de no-ip. Si per alguna raó volem tornar a repetir el qüestionari i refer el fitxer de configuració podrem fer-ho a posteriori executant:
/usr/local/bin/ noip2 -C
On l'opció -C, crea des de zero l'arxiu de configuració per defecte.
Durant l'execució d'aquesta ordre ens demanarà l'usuari i la contrasenya que ens dóna accés al servei de No-IP, així com els noms de domini que volem actualitzar. Cal anar amb compte en respondre la pregunta: "Do you wish to update all hosts?", És a dir, "Voleu actualitzar tots els noms de domini?". En respondre afirmativament tots els dominis que tinguem registrats amb el mateix compte apuntaran tots cap al mateix lloc, cap a la mateixa IP, la qual cosa pot generar-nos problemes si els altres dominis hagueren d'apuntar cap a altres adreces IP.
Quan acaba l'execució d'aquest script el client de no-ip està configurat. Tan sols resta executar l'script: Per executar el client:
/usr/local/bin/noip2
I s'activarà el programa client DUC de No-IP, per actualitzar la IP dels dominis configurats.
Algunes opcions no-ip:
- /usr/local/bin/noip2: Executar el client DUC.
- /usr/local/bin/noip2 -C: Configura el client DUC de nou.
- /usr/local/bin/noip2 -S: Mostra informació dels clients que s'estan executant.
- /usr/local/bin/noip2 -D pid: Canvia l'estat de depuració per al pid del client.
- /usr/local/bin/noip2 -K pid: Acaba un client per (pid).
- /usr/local/bin/noip2 -M -c archivo: Permetre diverses instàncies.
- /usr/local/bin/noip2 -h: help
Automatització d'actualització d'IP
Si volem que l'actualització es realitze automàticament a cada reinici del sistema per mantenir sempre actualitzada la IP, haurem de situar en l'arrencada l'script apropiat al nostre sistema operatiu.
Què és i com funciona el procés d'arrencada en Linux?
A Linux el procés d'arrencada és aquell procés mitjançant el qual s'inicialitza el sistema operatiu i s'assignen els recursos de la màquina als altres programes que s'executen. Fins fa poc el sistema d'arrencada en Linux estava dirigit per l'anomenat System V. Actualment, almenys en GNU/Linux Debian 9.6 (Stretch), està sent utilitzat el sistema systemd. Amb aquest canvi de procés d'arrencada, el mètode per instal·lar un script en l'arrencada de la màquina ha canviat en gran mesura.
Com saber si es té un o l'altre instal·lat?
Senzill, en una shell escrivim la següent ordre:
root@server-angles:~# dpkg -S /sbin/init
systemd-sysv: /sbin/init
Quan es tracta d'un sistema systemd, la sortida és com aquesta:
systemd-sysv: /sbin/init
Per contra, si el nostre sistema encara funciona amb System V, a la shell veurem alguna cosa similar a açó:
SysVinit-2.86-17.el5-2.86-17.el5
Automatització d'actualització d'IP, en sistemes amb systemd
El sistema systemd és un administrador de sistemes i serveis per als sistemes operatius Linux. Quan és executat s'ocupa de carregar els controladors, muntar el sistema de fitxers i inicialitzar tots els serveis configurats en el sistema. Per instal·lar en l'arrencada l'script de noip2, en aquest sistema systemd, haurem de seguir els següents passos:
1.- Accedim al compte de l'usuari root, i al directori /etc/systemd/system/:
root@server-angles:~# cd /etc/systemd/system/
2.- Creem un nou fitxer de text:
root@server-angles:/etc/systemd/system# touch noip2.service
3.- Editem el fitxer, amb l'editor nano seria:
root@server-angles:/etc/systemd/system# nano -w noip2.service
4.- Copiem les següents línies de codi:
[Unit]
Description=DynDNS by NoIP
[Service]
Type=forking
ExecStart=/usr/local/bin/noip2
[Install]
WantedBy=multi-user.target
Guardem i sortim de l'editor.
5.- Fem una crida a systemd perquè el reconega com script d'inici:
root@server-angles:/etc/systemd/system# systemctl enable noip2.service
Created symlink /etc/systemd/system/multi-user.target.wants/noip2.service → /etc/systemd/system/noip2.service.
6.- Arrenquem el servei amb:
root@server-angles:/etc/systemd/system# systemctl start noip2.service
7.- Verifiquem l'estat del servei amb l'ordre:
root@server-angles:/etc/systemd/system# systemctl status noip2.service
8.- La sortida per la shell ha de semblar-se a aquesta:
● noip2.service - DynDNS by NoIP
Loaded: loaded (/etc/systemd/system/noip2.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2019-01-11 19:00:55 CET; 8s ago
Process: 861 ExecStart=/usr/local/bin/noip2 (code=exited, status=0/SUCCESS)
Main PID: 841 (code=exited, status=255)
ene 11 19:00:55 server-angles systemd[1]: Starting DynDNS by NoIP...
ene 11 19:00:55 server-angles noip2[861]: One noip2 process is already active,
ene 11 19:00:55 server-angles noip2[861]: and the multiple instance flag (-M) is not set.
ene 11 19:00:55 server-angles systemd[1]: Started DynDNS by NoIP.
Automatització d'actualització d'IP, en sistemes amb System V
Fins fa poc el sistema d'arrencada típic en Linux era el sistema conegut com a System V. En ell Linux començava arrencant el procés init, el fitxer de configuració era /etc/inittab, on es determinava quin tipus (runlevel) d'arrencada es requeria en cada cas i per tant l'ordre d'execució dels diversos scripts que tinguem instal·lats en el sistema operatiu. Per això, per aquests sistemes operatius que encara estiguen basats en System V, els passos a seguir seran els següents:
Abans de guardar el script, haurem de saber on s'ubiquen els scripts d'arrencada del nostre sistema operatiu. Per localitzar dit directori hi ha dues opcions, una és executar a la consola la següent ordre:
grep initdefault /etc/inittab |awk -F: '{print $2}'
Aquesta comanda ens donarà un nombre, X, en el cas de ser Linux / Debian, el resultat és un 2, això vol dir que el directori d'inici correspon amb el /etc/rc2.d.
Alternativament també es pot llegir amb un editor l'arxiu /etc/inittab i buscar les línies:
# The default runlevel.
id:2:initdefault:
Com veiem el nombre de nivell d'execució que hem trobat és exactament el mateix que abans.
En altres sistemes, el directori on es guarden els scripts a executar en cada reinici de la màquina pot variar, és possible que aquest directori estiga en altres ubicacions com ara: /etc/init.d/rcX.d, o potser en /sbin/init.d/rcX.d; On la X s'ha de substituir pel resultat obtingut anteriorment per trobar el directori d'inici.
Un cop localitzat el directori d'inici, accedim a ell i creem un arxiu el qual ha de contenir en el seu interior aquestes línies:
################################
#!/bin/sh
#./etc/rc.d/init.d/functions #descomente/modifique para su killproc
case "$1" in
start)
echo "Iniciando noip2..."
/usr/local/bin/noip2
;;
stop)
echo -n "Apagando noip2..."
# killproc -TERM /usr/local/bin/noip2
for i in 'noip2 -S 2>&1 | grep Process | awk '{print $2}' | tr -d ',''
do
noip2 -K $i
done
;;
*)
echo "Uso: $0 {start|stop}"
exit 1
esac
exit 0
##################################
Tanquem i guardem un nom que sigui fàcil d'identificar com pertanyent a l'script de noip2. Aquest script l'haurem de situar en el directori d'inici que corresponga al nivell d'execució de la nostra màquina. És a dir, si sabem que el nivell d'execució d'inici és 2, haurem de situar dit script en el directori d'inici: /etc/init.d/rc2 per al cas de Debian.
Automatització d'actualització d'IP. Vàlid tant per sistemes 'systemd' com 'System V'
Perquè s'execute de forma automàtica, creem un script d'inici automàtic, de la següent manera:
Amb qualsevol editor de text com pot ser nano, creem el script:
# nano /etc/init.d/rc.noip
amb el següent contingut:
#!/bin/bash
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
/usr/local/bin/noip2
Després Ctrl+x, yes(y) o si(s) i premem enter.
Li donem permís d'execució:
# chmod +x /etc/init.d/rc.noip
Després ho afegim a l'inici amb:
# update-rc.d rc.noip defaults 80
Llest!, ja hauria de funcionar.
Verificació del client DUC de No-IP
Mostrar informació dels clients que s'estan executant amb /usr/local/bin/noip2 -S:
No hi ha processos noip2 actius:
root@server-angles:~# /usr/local/bin/noip2 -S
No noip2 processes active.
Configuration data from /usr/local/etc/no-ip2.conf.
Account
configured for:
host servidorsroig.sytes.net
Updating every 15 minutes via /dev/enp2s0 with NAT enabled.
root@server-angles:~#
Amb processos noip2 actius (en aquest cas un procés actiu):
root@server-angles:~# /usr/local/bin/noip2 -S
1 noip2 process active.
Process 332, started as noip2, (version 2.1.9)
Using configuration from /usr/local/etc/no-ip2.conf
Last IP Address set 0.0.0.0
Account
configured for:
host servidorsroig.sytes.net
Updating every 15 minutes via /dev/enp2s0 with NAT enabled.
root@server-angles:~#
El subdomini resol correctamen?
Ara necessitem sabre si el subdomini resol correctament la nostra IP. Per fer això usarem l'eina nslookup que ens tradueix noms a IP's de la següent manera, nslookup subdomini o amb host subdomini, segons aquesta guia:
root@server-angles:~# host servidorsroig.sytes.net
servidorsroig.sytes.net has address 79.147.13.107
root@server-angles:~#
En l'apartat Address podeu veure la vostra IP. Si quan tinga'm instal·lat el servei Web obrim un navegador en l'altra maquina i posem aquesta IP com a adreça web veurem el nostre servidor i si posem subdomini servidorsroig.sytes.net també.
Nota: Si la vostra IP canvia, no importa, ja que gràcies al vostre domini (subdomini.sytes.net), sempre podreu trobar el vostre servidor, us canvien la IP les voltes que us la canvien.

Torna a la portada