DNS dinamico#
Il Dynamic DNS (DDNS) aggiorna automaticamente il record DNS del proprio nome di dominio con l’indirizzo IP attuale, anche se questo cambia dinamicamente. Questo consente di accedere al firewall da remoto utilizzando un nome di dominio costante invece di dover ricordare un indirizzo IP che potrebbe cambiare.
Provider supportati#
NethSecurity supporta i seguenti provider DDNS:
Prerequisiti:
Un firewall NethSecurity con accesso a Internet.
Un account presso il provider DDNS scelto.
Un nome di dominio registrato presso il proprio provider DDNS.
Passaggi generali di configurazione#
Aprire una finestra del terminale sul firewall.
Selezionare il provider DDNS desiderato dall’elenco dei provider supportati. Per ottenere l’elenco dei provider supportati, eseguire il seguente comando:
ddns service update ddns service list-available
Inserire i dettagli di configurazione DDNS, inclusi le credenziali del provider nei campi designati. Questi possono includere:
Il nome del servizio del provider DDNS, dall’elenco sopra: utilizzare il campo
service_name.Nome utente o ID client: utilizzare il campo
username.Password o chiave API: utilizzare il campo
password.Nome di dominio da associare al proprio indirizzo IP dinamico: utilizzare il campo
domain, è anche possibile utilizzare il campolookup_host.Interfaccia da monitorare per le modifiche dell’indirizzo IP (ad esempio, «wan»): utilizzare il campo
interface.
Sebbene i passaggi generali siano simili, i dettagli specifici della configurazione possono variare leggermente a seconda del provider scelto. Si consiglia di consultare la documentazione del provider per istruzioni dettagliate e per eventuali impostazioni aggiuntive richieste.
A causa della varietà di provider supportati, inclusi le loro interfacce uniche e i metodi di autenticazione specifici, non è possibile fornire in questa guida istruzioni di configurazione dettagliate per ciascun provider.
Se il proprio provider non è elencato, è comunque possibile configurarlo utilizzando una configurazione personalizzata.
Utilizzo della riga di comando UCI#
Utilizzare i comandi uci per impostare e confermare le opzioni di configurazione:
uci set ddns.myddns.service_name="ddnsprovider.com"
uci set ddns.myddns.domain="host.yourdomain.net"
uci set ddns.myddns.username="your_user_name"
uci set ddns.myddns.password="p@ssw0rd"
uci set ddns.myddns.interface="wan"
uci set ddns.myddns.enabled="1"
uci commit ddns
Ricordarsi di sostituire i segnaposto con i propri valori.
Quindi, riavviare il servizio DDNS:
/etc/init.d/ddns restart
Consultare la documentazione UCI per un elenco completo delle impostazioni supportate.
Note aggiuntive:
Assicurarsi che il piano del provider DDNS scelto supporti l’accesso API e gli aggiornamenti dinamici.
Verificare attentamente tutte le credenziali inserite per garantirne l’accuratezza ed evitare errori durante l’aggiornamento.
Considerare l’abilitazione della registrazione (logging) per il servizio DDNS per monitorare gli aggiornamenti e risolvere eventuali problemi.
Alcuni provider possono offrire funzionalità avanzate come i caratteri jolly e l’aggiornamento dei sottodomini. Esplorare queste opzioni in base alle proprie esigenze specifiche.
Esempio: DigitalOcean (DO)#
Il seguente esempio utilizza la configurazione fittizia di firewall.example.net su NethSecurity. Il token API di DigitalOcean è stato intenzionalmente oscurato; sostituirlo con il proprio token.
uci set ddns.do=service
uci set ddns.do.service_name='digitalocean.com-v2'
uci set ddns.do.lookup_host='firewall.example.net'
uci set ddns.do.domain='example.net'
uci set ddns.do.username='firewall'
uci set ddns.do.password='REDACTED_DIGITALOCEAN_API_TOKEN'
uci set ddns.do.param_opt='21694203'
uci set ddns.do.enabled='1'
uci set ddns.do.interface='wan'
uci set ddns.do.ip_source='network'
uci set ddns.do.ip_network='wan'
uci commit ddns
/etc/init.d/ddns restart
I campi rilevanti di DigitalOcean sono:
domain: il dominio gestito in DigitalOceanusername: l’etichetta dell’hostname da aggiornarepassword: il personal access tokenparam_opt: l’ID del record DNS per quel nome host
Per elencare i record e trovare l’ID, eseguire:
curl -X GET -H 'Content-Type: application/json' \
-H "Authorization: Bearer TOKEN" \
"https://api.digitalocean.com/v2/domains/DOMAIN/records"
Sostituire TOKEN e DOMAIN con i propri valori.
Esempio: afraid.org (FreeDNS)#
Configurare un dominio con FreeDNS (afraid.org) utilizzando la riga di comando UCI. Il dominio si chiama «sanchio.crabdance.com» e il nome utente e la password sono «myuser» e «mypass», rispettivamente.
uci set ddns.afraid=service
uci set ddns.afraid.service_name='afraid.org-v2-basic'
uci set ddns.afraid.lookup_host='sanchio.crabdance.com'
uci set ddns.afraid.enabled='1'
uci set ddns.afraid.use_ipv6='0'
uci set ddns.afraid.domain='sanchio.crabdance.com'
uci set ddns.afraid.username='myuser'
uci set ddns.afraid.password='mypass'
uci set ddns.afraid.ip_source='network'
uci set ddns.afraid.ip_network='wan'
uci set ddns.afraid.interface='wan'
uci set ddns.afraid.use_syslog='1'
uci set ddns.afraid.check_unit='minutes'
uci set ddns.afraid.force_unit='minutes'
uci set ddns.afraid.retry_unit='seconds'
uci commit ddns
/etc/init.d/ddns restart
Esempio personalizzato: dyndns.it (DynDNS)#
È inoltre possibile configurare alcuni provider DDNS personalizzati utilizzando la riga di comando UCI. Configurare un dominio con DynDNS utilizzando la riga di comando UCI. Il dominio si chiama «nstest1.freeddns.it» e il nome utente e la password sono rispettivamente «nstest1» e «nstest».
uci set ddns.dyndns_it=service
uci set ddns.dyndns_it.enabled='1'
uci set ddns.dyndns_it.lookup_host='nstest1.freeddns.it'
uci set ddns.dyndns_it.domain='nstest1.freeddns.it'
uci set ddns.dyndns_it.username='nstest1'
uci set ddns.dyndns_it.password='nstest'
uci set ddns.dyndns_it.interface='wan'
uci set ddns.dyndns_it.ip_source='network'
uci set ddns.dyndns_it.ip_network='wan'
uci set ddns.dyndns_it.force_interval='24'
uci set ddns.dyndns_it.force_unit='hours'
uci set ddns.dyndns_it.check_interval='10'
uci set ddns.dyndns_it.check_unit='minutes'
uci set ddns.dyndns_it.update_url='http://update.dyndns.it/nic/update?hostname=[DOMAIN]&user=[USERNAME]&password=[PASSWORD]'
uci commit ddns
/etc/init.d/ddns restart
DNS diviso#
Alcuni deployment pubblicano lo stesso hostname sia all’interno della LAN che su Internet pubblica. Se lookup_host si risolve in un indirizzo privato sul firewall stesso, DDNS può confrontare l’IP WAN pubblico con la risposta interna e continuare a riprovare anche quando l’aggiornamento del provider è andato a buon fine.
La correzione consigliata è quella di fare in modo che la query DDNS interroghi un resolver esterno per la ricerca invece della risposta locale split-DNS. Ad esempio:
uci set ddns.do.dns_server='1.1.1.1'
uci commit ddns
/etc/init.d/ddns restart
Questo mantiene il DNS split per i client LAN mentre il client DDNS convalida il record pubblico.
Utilizzo di Luci#
L’interfaccia web Luci offre un modo semplificato per configurare DDNS su NethSecurity. Consultare la documentazione ufficiale per istruzioni dettagliate sull’utilizzo di Luci per configurare DDNS.