Recentemente ho acquistato un mini computer da aliexpress. È abbastanza potente e molto più economico del noleggio di istanze Amazon EC2. Si trova vicino al mio router nel mio appartamento, costantemente su 24/7, sorseggiando solo 10 a 15W.
Ho un normale internet Service provider (ISP) che pago mensilmente. Ancora più importante, non ho un indirizzo IP statico. Di solito un IP statico costa più soldi ogni mese, o semplicemente non è un’opzione.
Qual è la soluzione? Come posso connettermi al mio computer/server di casa? DNS dinamico!
Configurazione del DNS dinamico
Va bene, quindi ho un nome di dominio, un home Internet Service provider (ISP), un router e un home server (il mini computer). Non ho un IP statico. Ma voglio connettermi costantemente al mio computer/server di casa da una fonte remota (ad esempio dal mio telefono o dal mio laptop durante il viaggio).
Ho registrato il mio dominio tramite Google Domains, quindi iniziamo da lì. Potrebbe essere necessario fare qualcosa di simile attraverso le impostazioni ovunque tu abbia registrato il tuo dominio.
Nella sezione Google Domains c’è un’opzione per impostare il DNS dinamico per un determinato nome di dominio. Hai appena specifico il sottodominio (ho chiamato il mio ‘scooter’ come visto di seguito) e l’ho indicato a uno dei miei nomi di dominio che avevo registrato con Google Domains.
Poi sono andato al mio router di casa, che è un TP-LINK Archer C7 e ho trovato la sezione per il DNS dinamico. Speravo che sarebbe stato abbastanza facile puntarlo al mio nome di dominio con il nome utente / password che Google Domains ha creato per me.
Sfortunatamente TP-LINK non è molto flessibile. Si aspettano che gli utenti utilizzino No-IP, Dyndns o Comexe per le loro esigenze di DNS dinamico.
Fortunatamente, Google Domains è molto più flessibile. Ti consentono di utilizzare un client o la loro API per aggiornare il tuo DNS dinamico.
Va bene, quindi forse proverò il DDclient, dal momento che sembra essere un client supportato.
Utilizzo di DDclient per DNS dinamico
Puoi conoscere DDclient qui. Dal momento che stavo eseguendo un sistema operativo Ubuntu, ho scelto di utilizzare il gestore di pacchetti apt-get.
L’esecuzione di sudo apt-get install ddclient
mi ha immediatamente lanciato in una procedura guidata di installazione.
L’unica parte di cui ero confuso era l’interfaccia di rete.
L’esecuzione di ifconfig -a
ha aiutato a capirlo. Ecco l’output di esecuzione che:
In base alla quantità di traffico, sembra che voglio p2p1.
Dopo l’installazione di ddclient
Al termine della procedura guidata di installazione, mi aspettavo un file ddclient.conf
generato da qualche parte. Secondo i documenti, ce ne dovrebbe essere uno a
/etc/ddclient.conf
Ma non c’era. Ho provato a eseguire il debug di ddclient eseguendo
ddclient -daemon=0 -noquiet -debug
e ha mostrato un file situato a
/var/cache/ddclient/ddclient.cache
Ma poi ha anche mostrato:
DEBUG: get_ip: using if, p2p1 reports 192.168.0.104
Che non è l’indirizzo IP che voglio!
Quindi ho creato manualmente un file di configurazione su /etc/ddclient.conf
Quindi modifica
sudo nano /etc/default/ddclient
Assicurati run_daemon="true"
$ sudo service ddclient statusStatus of Dynamic DNS service update utility: ddclient is running.
Se non è in esecuzione digitare
$ sudo service ddclient start
Successo!
DDclient è un software pulito in grado di rilevare quando il mio indirizzo IP cambia (ad esempio quando il mio ISP decide casualmente di ruotarlo). DDclient trasmette quindi il nuovo indirizzo IP a Google Domains, quindi ogni volta che visito scooter.mydomain.com
sa a quale indirizzo IP indirizzare il traffico. Evviva!
Aggiornamento di gennaio 2018
Ho cambiato provider di servizi Internet e nomi di dominio alcune volte da quando l’ho impostato originariamente. La configurazione originale non funziona più, quindi voglio farlo funzionare di nuovo.
Riattivare il DNS dinamico su Google Domains
Userò un dominio “nudo” in modo che il simbolo @ al posto di un sottodominio. Un dominio nudo è come example.com
invece di
Note that the data column is blank because the ddclient software hasn’t told Google Domains what the IP address is.
First I’ll confirm that it’s installed
Okay so that’s not quite the latest version as of today, which is 3.8.3. Checking the release notes doesn’t look like I am missing too much.
Is it running?
Okay so it is running, but has old settings.
Update settings
This is the username and password that Google Domains generated. My domain name is at the bottom with the “naked” prefix @
. Penso di poter usare il protocollo Google Domains poiché ddclient lo supporta, ma lo salterò a meno che non mi imbatto in problemi con il protocollo dyndns2.
Testalo
Lo eseguirò solo una volta (nessun demone o servizio) con il debug attivato
E se controlliamo Google Domains:
Mostra che è stato modificato alle 9:51:22 del mattino, quindi abbastanza vicino. 2 secondi è nel regno di un orologio lento / veloce.
Ricontrolla cron e servizi
$ crontab -e(nothing in there)$ sudo crontab -e(nothing in there)
E controlleremo il servizio per vedere se un demone è in esecuzione
Dice che è in esecuzione. Se proviamo a ricominciare cosa succede?