Tecnologia: Netgear DGND3700 V1 & Google Domains DDNS
Per ovviare al problema ho fatto un po di ricerca scoprendo che il firmware del mio router era già aggiornato all'ultima release disponibile e, in mancanza di "soluzioni ufficiali", ho fatto ricorso ad un firmware modificato.
DGND3700 V1 Transmission Firmware
Questo firmware tra le feature aggiuntive ha il client DDns Inadyn.
Tramite la normale procedura di aggiornamento del router ho caricato il pacchetto firmware DGND3700_2015-02-08_A_D.chk (attualmente ultima versione stabile).
Servizi DDns supportati
- dyndns.org
- freedns.afraid.org
- zoneedit.com
- no-ip.com
- easydns.com
- 3322.org
- sitelutions.com
- dnsomatic.com
- tunnelbroker.net
- tzo.com
- dynsip.org
- dhis.org
- majimoto.net
- zerigo.com
- two-dns.de
Il gioco sarebbe fatto se solo usassi uno di questi servizi (in effetti ho un accont no-ip , ottimo ma con alcune limitazioni) ma io voglio usare il DDns di google domains che attualmente non è supportato nativamente.
Dopo ulteriori approfondimenti e controllando le API del servizio google ho trovato la soluzione al mio problema.
API HTTPS
Url di esempio:
https://username:password@domains.google.com/nic/update?hostname=subdomain.domain.ext
Gia utilizzando questa url nel browser si aggiornerà in brevissimo tempo (1 minuto circa) il Dns. Provando, se fatto tutto correttamente, si avrà una risposta positiva da parte del server google.
Ma quello che volevo fare era poter automatizzare l'operazione, soprattutto perchè volevo assolutamente che in caso di cambio IP per i motivi svariati il Dns venisse aggiornato.
Tra le altre feature aggiuntive del nuovo firmware modificato del router c'è anche però il servizio Cron Scheduler.
A questo punto ho scritto il mio cron utilizzando la url appena creata:
Inserendo questa stringa nell'apposito campo nella pagina dello scheduler e confermando ho attenuto quello che desideravo, finalmente posso avere il mio DDns google domains gestito dal mio router!
*/1 * * * * wget -O - https://username:password@domains.google.com/nic/update?hostname=subdomain.domain.ext
Senza dilungarmi troppo su come si crea un cron, se controllate la stringa vi sarà utile sapere che */1 è il tempo espresso in minuti di ogni quanto si vuole che il cron venga eseguito.

Commenti
Posta un commento