Google offre DNS dinamici
Come impostare DNS dinamici utilizzando Google Domains e Ubuntu Server
Consiglierei di reindirizzare tutte le connessioni a una connessione sicura.
Riepilogo
Scopri come impostare un DNS dinamico utilizzando Google Domains e proteggere il tuo sito con un certificato SSL da Let’s Crypt utilizzando CERTBOT.
Punti chiave:
1. DNS dinamico consente di puntare il nome di dominio a un indirizzo IP dinamico.
2. Google Domains offre DNS dinamici gratuitamente con tutti gli acquisti di domini.
3. Questo tutorial ti mostrerà come impostare DNS dinamici utilizzando Google Domains e Ubuntu Server.
Domande:
1. Perché dovresti usare DNS dinamico?
Risposta: DNS dinamico consente a un utente di modificare il proprio indirizzo IP senza dover aggiornare costantemente l’indirizzo IP sui propri dispositivi. Questo è utile per le persone che lavorano in remoto e hanno bisogno di una connessione affidabile che sia sempre disponibile.
2. Cos’è Google Domains?
Risposta: Google Domains è un registrar di dominio che offre agli utenti l’opportunità di registrare il proprio nome di dominio.
3. Quali sono i vantaggi dell’utilizzo dei domini Google?
Risposta: I vantaggi dei domini di Google includono una semplice interfaccia, strumenti di facile utilizzo, prezzi bassi, controllo del tuo dominio e integrazione con Google Apps.
4. Qual è l’ambiente server consigliato per l’impostazione di DN dinamici utilizzando Google Domains e Ubuntu Server?
Risposta: L’ambiente server consigliato è Ubuntu 18.04 LTS con Apache 2, DDClient 3.8.3 e certbot 0.27.0.
5. Come si imposta DNS dinamici nei domini di Google?
Risposta: Per impostare DNS dinamici nei domini di Google, è necessario accedere al tuo account Google Domains, selezionare il tuo dominio, andare alle impostazioni DNS, fare clic su “Mostra impostazioni avanzate”, fare clic su “Gestisci DNS dinamici” e crea un nuovo record con il nome del sottodominio o del dominio root.
6. Cos’è ddclient?
Risposta: DDClient è un client DNS dinamico che aggiorna automaticamente i record DNS con il tuo indirizzo IP dinamico.
7. Come si imposta DDClient?
Risposta: Per impostare DDClient, è necessario installare DDClient sul server Ubuntu, configurare il file di configurazione DDClient e avviare il servizio DDClient.
8. Come configurare il tuo server Web per DNS dinamico?
Risposta: Per configurare il tuo server Web per DNS dinamico, è necessario impostare gli host virtuali Apache per indicare il tuo dominio e configurare SSL utilizzando CERTBOT.
9. Cos’è un certificato SSL?
Risposta: Un certificato SSL è un certificato digitale che autentica l’identità di un sito Web e crittografa i dati inviati tra il sito Web e il browser dell’utente.
10. Come proteggere il tuo sito con un certificato SSL da Let’s Crypt tramite certbot?
Risposta: Per proteggere il tuo sito con un certificato SSL da Let’s Cryppt utilizzando CERTBOT, è necessario installare CERTBOT sul tuo server, eseguire CERTBOT per ottenere e installare il certificato SSL e configurare il tuo server Web per utilizzare il certificato SSL.
11. Quanto tempo ci vuole per impostare DNS dinamici utilizzando Google Domains e Ubuntu Server?
Risposta: È possibile impostare DNS dinamici utilizzando Google Domains e Ubuntu Server in meno di un’ora.
12. Puoi usare DN dinamici con altri registrar di dominio?
Risposta: Sì, è possibile utilizzare DN dinamici con altri registrar di dominio, ma questo tutorial si concentra sulla creazione di DN dinamici utilizzando i domini Google.
13. Qual è lo scopo di reindirizzare tutte le connessioni a una connessione sicura?
Risposta: Il reindirizzamento di tutte le connessioni a una connessione sicura garantisce che tutte le comunicazioni tra l’utente e il sito Web siano crittografate e sicure, fornendo privacy e protezione contro la deviazione.
14. Quali sono i requisiti di sistema per l’esecuzione di Ubuntu Server?
Risposta: Il server Ubuntu ha requisiti di sistema minimi, incluso un processore da 1 GHz, RAM da 512 MB e 2 GB di spazio del disco rigido.
15. Ci sono limitazioni o restrizioni quando si utilizzano DN dinamici con domini Google?
Risposta: I domini di Google possono avere limitazioni o restrizioni sul numero di record DNS dinamici che è possibile creare o sulla frequenza degli aggiornamenti consentiti.
Come impostare DNS dinamici utilizzando Google Domains e Ubuntu ServertEchnology
Consiglierei di reindirizzare tutte le connessioni a una connessione sicura.
Google offre DNS dinamici
Об этой сттце
Ыы зарегистрировали подозритеstituire. С помощю ээй ст р ы ыы сможем о imperceде quello. Почему ээо мо л поззти?
Эта страница отображается в тех с лччч, когда автоматическиtal систе quisi которые наршают условия иполззования. Страница перестан scegliere. До этого момента для иполззования сжж google необходимо пхоходить поверку по по по по по.
” ылку запросов. Если ы и ипоеете общий доступ в интернет, проmma. Обратитесь к с ое системому администратору. Подробнеi.
Проверка по слову может также появляться, если вы вводите сложные запросы, обычно распространяемые автоматизированными системами, или же вводите запросы очень часто.
Come impostare DNS dinamici utilizzando Google Domains e Ubuntu Server Technology

Scopri come impostare un DNS dinamico utilizzando i domini Google e proteggere il tuo sito con un certificato SSL da Let’S Crittografia utilizzando certbot.
Dynamic DNS è un servizio che consente di puntare il nome di dominio a un indirizzo IP dinamico. Ciò significa che l’indirizzo IP del tuo sito Web cambia periodicamente.
Google Domains offre DNS dinamici gratuitamente con tutti gli acquisti di domini. È possibile impostare DNS dinamici utilizzando Google Domains e Ubuntu Server in meno di un’ora.
Questo tutorial ti mostrerà come impostare DNS dinamici utilizzando Google Domains e Ubuntu Server.
Sommario
- Perché utilizzare DNS dinamico?
- Cos’è Google Domains?
- Passaggio 1: Imposta DNS dinamici nei domini di Google
- Passaggio 2: configurazione ddclient
- Passaggio 3: configura il tuo server web
Perché utilizzare DNS dinamico?
Dynamic DNS è un servizio che consente a un utente di modificare il proprio indirizzo IP senza dover aggiornare costantemente l’indirizzo IP sui propri dispositivi. Ciò rende molto più semplice di prima rendere accessibile un indirizzo IP da qualsiasi luogo, il che è utile per le persone che lavorano in remoto e hanno bisogno di una connessione affidabile che sia sempre disponibile.
È anche importante notare che DNS dinamico non richiede alcuna configurazione sul lato client. Il servizio DNS dinamico fa tutto il lavoro per te.
Cos’è Google Domains?
Google Domains è un registrar di dominio che offre agli utenti l’opportunità di registrare il proprio nome di dominio.
Google Domains ti offre la possibilità di ottenere il tuo nome di dominio senza dover passare una terza parte. Ti fornisce anche la possibilità di utilizzare il tuo indirizzo email personale, che è collegato direttamente al tuo sito Web o al tuo blog.
Vantaggi dei domini di Google
I vantaggi dei domini di Google sono che offre una semplice interfaccia, strumenti di facile utilizzo e prezzi bassi. Ricevi molto controllo del tuo dominio rispetto ai prezzi di altri servizi come Dyndns ($ 24.95 all’anno al momento della scrittura) con funzionalità limitate. Ci sono Servizi gratuiti Come Noip.com, ma non hai poco controllo del nome di dominio usato e potresti dover verificare l’utilizzo ogni 30 giorni.
Google Domains ti fornisce una dashboard personale con tutti i tuoi domini, e -mail e contatti. Ottieni anche l’integrazione di Google Apps, in modo da poter accedere a tutte le tue e -mail, calendario e chat da un posto.
Ambiente
- Ubuntu 18.04 LTS Sono sicuro che questo funzionerà sulle versioni successive, ma i miei server di produzione su DigitalOcean eseguono tutti questa versione.
- Apache 2
- ddclient 3.8.3 – Installazione
- Certbot 0.27.0 – Installazione
Passaggio 1: Imposta DNS dinamici nei domini di Google
- Accedi a Google Domains.
- Seleziona il nome del tuo dominio.
- Seleziona ‘DNS’ sul lato sinistro dello schermo. Server dei nomi predefiniti deve essere attivo o questo non funzionerà.
- Clic mostra impostazioni avanzate.
- Clic Gestisci DNS dinamici E Crea nuovo record.
- Assegna un IP dinamico inserendo il nome del sottodominio o del dominio root.
- Clic Salva.
Quando si arriva al passaggio 4 di “Impostazione di un record sintetico dinamico” se si desidera aggiungere più sottodomi, questa è la prima modifica da fare. Dal momento che a volte posso condividere l’accesso a un prodotto finito di qualcosa che aggiunge “@” (“dominio root” o “dominio nudo”) è la strada da percorrere. In caso contrario, aggiungi il sottodominio di tua scelta.

Qualcosa che ho considerato è che posso sempre inoltrare un sottodominio unico, come le pagine di github, se necessario in seguito. Sul mio server web, i miei file di configurazione controllano la direzione della richiesta. Quindi avere il traffico va nella posizione del dominio radice ha più senso per me.

Completa il resto dei passaggi nelle istruzioni.
Passaggio 2: configurazione ddclient
Il sistema di nomi di dominio dinamico è un servizio che aggiorna automaticamente l’indirizzo IP associato a un nome di dominio, che può essere utile per accedere a un sito Web che utilizza un indirizzo IP dinamico (E.G., Per servizi di web hosting) su Internet. Questo servizio può essere fornito da DDClient, che è un software che aggiorna i record del computer dei nomi di dominio per riflettere le modifiche nei loro indirizzi IP.
Non sono riuscito a convincere DDClient a funzionare correttamente utilizzando il supporto di Google Domains integrato, quindi ho optato per le istruzioni senza supporto di Google Domains.
# Configurazione file per ddclient generato di Debconf # # /eccetera/ddclient.conf demone=300 protocollo=dyndns2 utilizzo=ragnatela server=domini.Google.com SSL=SÌ login=generato_username parola d'ordine='generato_password' # Vedere IL Nota sotto @.tuo_domain.tld Testa la tua configurazione:
Nota: se si riscontrano problemi qui, potrebbe essere necessario rimuovere le citazioni singole
sudo ddclient -daemon = 0 -debug -verbose -noquiet
Hai completato correttamente l’impostazione se l’output termina con “successo” – l’output dovrebbe essere simile a:
SUCCESSO: @.YourDomain.com: saltato: l’indirizzo IP era già impostato su 12.80.274.74.
Mi sono quindi assicurato che gli URL si siano propagati. Una volta che l’URL principale ha successo (controlla anche con www.YourDomain.com) ho quindi controllato con sotto-domini casuali con e senza www pre-inquieto. Dopo che mi sono sentito bene per i risultati, sono passato al passaggio successivo.
Passaggio 3: configura il tuo server web
Il dominio che ho selezionato termina nella pagina, quindi ho dovuto avere una connessione sicura per far funzionare correttamente i miei URL. Non ti dirò quanto tempo mi ci è voluto per capirlo, ma è per questo che questi passaggi sono i prossimi ;-). Con l’utilizzo del valore predefinito .Conf File Ero pronto per iniziare.
Ripeti questo processo con ogni sito/dominio che si sta impostando per utilizzare con il tuo DNS dinamico.
Copia un file Conf Clean:
Sudo CP 000-Default.conf domain_name.conf
Regola il file per servire il dominio che servirà:
*: 80> ServerAdmin [email protected] sotto-dominio ServerName.YourDomain.com serveralias www.sotto-dominio.YourDomain.com DocumentRoot/var/www/sub_domain errorlog $Apache_log_dir>/errore.registro CustomLog $Apache_log_dir>/accesso.Registro combinato Se hai bisogno di un reindirizzamento
Ho menzionato il mio server di fumetti e ovviamente avevo bisogno di accedervi con la mia nuova struttura di dominio. Quindi ecco un esempio di come ho aggiunto un host virtuale sul mio server per renderlo realtà.
*: 80> ServerAdmin [email protected] sotto-dominio ServerName.YourDomain.com serveralias www.sotto-dominio.YourDomain.com DocumentRoot/var/www/sub_domain errorlog $Apache_log_dir>/errore.registro CustomLog $Apache_log_dir>/accesso.Registro combinato /> Proxypass http: // 192.168.1.76: 2202/ProxyPassReverse http: // 192.168.1.76: 2022/ /Admin> Proxypass http: // 192.168.1.76: 2203/admin proxypassreverse http: // 192.168.1.76: 2203/amministratore Attiva il sito da utilizzare:
sudo a2ensite domain_conf.conf
Generare un certificato SSL utilizzando certbot – opzionale, non facoltativo
Consiglierei di reindirizzare tutte le connessioni a una connessione sicura.
sudo certbot –apache -d nextcloud.YourDomain.com -d www.Nextcloud.YourDomain.com
Tuo .Il file conf farà sembrare il seguente e creerà una connessione sicura .Conf File automaticamente.
*: 80> ServerAdmin [email protected] sotto-dominio ServerName.YourDomain.com serveralias www.sotto-dominio.YourDomain.com DocumentRoot/var/www/sub_domain errorlog $Apache_log_dir>/errore.registro CustomLog $Apache_log_dir>/accesso.Registro combinato riswiteEngine su Rewritecond % = sottodominio.YourDomain.com [o] rewritecond % = www.sotto-dominio.YourDomain.com Rewriterule ^ https: // %% [end, ne, r = permanente] Ecco, apri il tuo browser e vai all’URL desiderato e vedrai il sito che stai cercando. Facci sapere se l’hai provato e se funziona per te.
Cansin acarer
Come utilizzare DDClient per aggiornare le impostazioni DNS dinamiche sui domini di Google
Se stai eseguendo un server Web, VPN o qualsiasi altro dispositivo a casa a cui si desidera accedere su Internet utilizzando un dominio o un nome di sottodominio, o hai bisogno di un indirizzo IP statico (che molti ISP non forniscono o addebitano un extra per) o avrai bisogno di una configurazione DNS dinamica. Google Domains offre questo servizio gratuitamente e senza stringhe allegate come Noip’S Requisito di conferma ogni 30 giorni.
1. Identifica l’interfaccia di rete
Dovremo conoscere il nome dell’interfaccia di rete che DDClient utilizzerà, quindi esegui il seguente comando:
sudo lshw Cerca le seguenti righe che iniziano con *-network nell’output e nota il nome logico dell’interfaccia di rete che si sta utilizzando. Sarebbe Eth0 per il caso seguente poiché questo dispositivo era collegato tramite Ethernet.
[. ] *-network: 0 Descrizione disabilitata: Interfaccia wireless ID fisico: 1 Nome logico: WLAN0 [. ] *-network: 1 Descrizione: Interfaccia Ethernet ID fisico: 2 Nome logico: ETH0 [. " 2. Ottieni le credenziali DNS dai domini di Google
Accedi ai domini di Google, selezionare il dominio che si desidera indicare questo server e aprire i record DNS facendo clic su DNS. Clic Mostra impostazioni avanzate in fondo alla pagina, quindi Gestisci DNS dinamici e crea un nuovo record come faresti con altri record. Finalmente clic Visualizza le credenziali DNS dinamiche Poi Visualizzazione e nota le credenziali.
3. Installa e cofigure ddclient
Installalo (è possibile saltare le domande durante l’installazione premendo ENTER):
APT Installa DDClient Modifica la configurazione con:
sudo nano /etc /ddclient.conf Dovrebbe sembrare simile a questo, ma con le tue credenziali DNS che abbiamo ottenuto in precedenza e il dominio dipenderebbe da ciò che hai impostato nella sezione DNS dinamica.
Protocol = Dyndns2 use = Web Server = Domains.Google.com ssl = sì login = googlednsususername password = googlednspassword yourdomain.com Se si desidera aggiornare più record DNS, ripeti questi passaggi e aggiungi la configurazione in DDClient.Conf File.
4. Test
Quanto segue esegue la sequenza di aggiornamento:
sudo ddclient -daemon = 0 -debug -verbose -noquiet Se vedi una linea verso la fine dell’output che mostra Google con cui ha risposto Bene E il tuo indirizzo IP, funziona.
Ricevi: buon tuoipaddress Test a doppio controllo, puoi indicare il tuo DNS a un indirizzo IP falso andando al seguente URL con i tuoi dettagli:
https: // nome utente: [email protected]/nic/aggiornamento?hostname = sottodominio.YourDomain.com e myip = 1.2.3.4 Se si esegue di nuovo il demone DDClient, confronterà il suo indirizzo IP con l’indirizzo che è memorizzato nella cache (non con quello che abbiamo modificato utilizzando la richiesta GET sopra); quindi penserà che il suo IP hann’T cambiato. Quindi è necessario eliminare la sua cache e quindi eseguire la sequenza di aggiornamento come di seguito.
sudo rm -f/var/cache/ddclient/ddclient.cache Ulteriori riferimenti
Vedi l’articolo di aiuto di Google DNS per altre risposte.
Google offre DNS dinamici
Reddit e i suoi partner usano cookie e tecnologie simili per offrirti un’esperienza migliore.
Accettando tutti i cookie, accetti il nostro utilizzo dei cookie per fornire e mantenere i nostri servizi e il nostro sito, migliorare la qualità di Reddit, personalizzare i contenuti e pubblicità Reddit e misurare l’efficacia della pubblicità.
Rifiutando i cookie non essenziali, Reddit può ancora utilizzare alcuni cookie per garantire la corretta funzionalità della nostra piattaforma.
Per ulteriori informazioni, consultare il nostro avviso sui cookie e la nostra politica sulla privacy .
Ottieni l’app Reddit
Scansiona questo codice QR per scaricare ora l’app
O dai un’occhiata negli app store
Benvenuti nel tuo amichevole /r /homelab, dove tecnici e sysadmin da ogni parte sono invitati a condividere i loro laboratori, progetti, build, ecc.
Membri online
da Sparkfist
Una soluzione DNS dinamica più economica: DNS dinamico di Google
Invece di pagare $ 25- $ 35 per un servizio DNS dinamico migliorato attraverso un posto come Dyndns o Noip, utilizza invece Google Domains. Pago già $ 12/anno per il mio dominio e consentono DN dinamici gratuiti con scelte di nomi di dominio molto migliori e sottodomi illimitati.
https: // supporto.Google.com/domini/risposta/6147083?Hl = en
È inoltre possibile utilizzare DDClient per automatizzare facilmente l’aggiornamento dell’IP descritto nel link da Google.
Come bonus laterale che imposta l’email inoltratura gratuita con un jolly *@yourdomain.com o [email protected] avanti a un account Gmail esistente è anche piuttosto bello. Lo uso allo stesso modo come il tuo [email protected] ma invece fai sito [email protected] perché alcuni luoghi piatto in blocco gmail o bloccano il + nell’e -mail. Aiuta a controllare da dove viene lo spam.
::modificare:: Lascio l’inoltro dell’email con Google perché bene Gmail, ma ho cambiato il mio DNS in livello gratuito CloudFares che non sapevo esistesse. Finora nessun rimpianto e la migrazione è avvenuta in un paio di minuti al massimo. Grazie a te/okrumm per il suggerimento. Avere ancora alcuni nodi da allenarti perché Cloudfare non funzionerà con mod_proxy in quanto non rispetta il reindirizzamento. A meno che non sia re-architect non vedrò il valore aggiunto di CloudFare. È un peccato perché ho potuto vedere un certo valore nella loro mitigazione e nel disboscamento delle minacce per renderlo utile.
Aggiornamento di DNS dinamici di domini Google con PowerShell
Ultimamente io’ho lavorato per costruire il mio laboratorio di casa per giocare con cose che io’D Non pensare mai nemmeno di istituire e provare nel nostro ambiente di sviluppo sul lavoro. Esso’S è stato un vero spasso; IO’Impostare i controller di dominio locale con cui confondere per testare script, costruire server Linux per testare la replica da e verso i server SQL e altri prodotti di database relazionali e persino impostare routing e accesso remoto in modo da poter remoto VPN nella mia rete domestica per la memorizzazione e il recupero del codice I’sta lavorando o addirittura usarlo per mostrare i progetti di prova di concetti ad altre persone. Esso’s folle e io’Ve ha imparato molto nel processo.
Quando inizi a parlare di fare cose come i server VPN Home (o qualsiasi server domestico per quella materia), prima o poi ti imbatti con un problema spinoso: come posso assicurarmi di poter sempre connettermi alla mia rete domestica da remoto? Buone notizie: hai già un indirizzo IP!
Avere (o sapere) quale è il tuo indirizzo IP di casa ti dà molta flessibilità perché se lo sai, puoi registrare i nomi di dominio e farli indicarli. Ad esempio, lascia’s dire che volevo esporre un server (chiamato “nano”) sulla mia rete domestica su Internet. A parte le modifiche al networking e del firewall sulla mia rete’s end (aprendo le porte giuste per l’inoltro, abilitando l’accesso remoto, ecc. Avrei anche bisogno di un nome di dominio e di una voce host in modo da sapere come risolvere. Quindi potrei registrare un nome di dominio, come la barca.netto e hai nano.barcaiolo.Resolversi netti al mio indirizzo IP di casa. Quello’è molto più facile (e più fresco) da ricordare di un indirizzo IP. Ma per farlo, devi conoscere il tuo IP di casa per impostare il “UN” Registra per il server dei nomi di dominio.
Sembra pulito bene? Il problema è che non è’probabilmente tu’Riesci a memorizzare il tuo indirizzo IP e anche se hai fatto la maggior parte dei fornitori di servizi Internet (ISP) che offrono la banda larga da casa Don’T fornirti un indirizzo IP statico. Ciò significa che se hai mai bisogno di riavviare il tuo modem, non sei’T garantito per ottenere lo stesso indirizzo. Quello’non dire che puoi’T hanno un IP statico ma di solito fanno parte di un’offerta commerciale più costosa che probabilmente non è’vale la pena avere il costo da avere a casa tua.
DNS dinamico
Là’S una soluzione, però: DNS dinamico. Il DNS dinamico è definito come un servizio che consente di aggiornare automaticamente un server di nomi senza la necessità di cambiarlo manualmente, di solito dopo che un IP è cambiato (anche senza che tu sappia che è cambiato). Il processo di solito funziona in questo modo:
- Ti iscrivi a un servizio che offre un servizio DNS dinamico, come Dyn o CloudFlare.
- Installa un’applicazione di servizio da qualche parte sulla tua rete che monitora il tuo IP pubblico per le modifiche e si collega ai provider e aggiorna i tuoi record per indicare automaticamente un indirizzo IP aggiornato.
Potrebbe sembrare facile, ma lì’s un paio di gotchas: uno, alcuni servizi, come dyn, aren’t gratuito. CloudFlare ha una soluzione gratuita, ma è necessario utilizzare i loro server di nome per i tuoi domini (che possono o meno essere un affare per te). In secondo luogo, quasi tutti gli strumenti liberamente disponibili sulla rete sono basati su Linux. Quello di per sé non è’t così male come sembra, anche se non sei’t A familiarità con Linux puoi farli funzionare e funzionare abbastanza rapidamente. Il problema più grande è che se la tua rete domestica è principalmente basata su Windows e non’t Avere qualsiasi hardware di riserva per creare il tuo server Linux (o non’vuoi girare le macchine virtuali sulla tua macchina di casa), quindi puoi’usi anche loro (Aggiornamento: sembra che tu possa farli funzionare anche con Perl sulle tue macchine locali, ma non ho’T ho già provato).
C’è anche una terza opzione: alcuni nuovi router domestici di venditori come il fornitore di Asus Dynamic DNS Services in bundle con il software del sistema operativo router. Quindi, se hai il tuo router, questa potrebbe essere un’opzione.
Domini di Google
Potresti chiederti cosa c’entra tutto questo con PowerShell, giusto? Di recente, ho registrato un paio di nuovi nomi di dominio con i domini di Google, soprattutto perché ti danno un’interfaccia Web davvero carina da usare e dal momento che uso Google per quasi tutto il resto della mia vita, questo ha avuto senso (e non l’ho fatto’b necessità o vuoi un altro account online). Quando ero lì a creare alcuni record per reindirizzarli sul mio blog, ho notato qualcosa:

Sotto “Record sintetici” Ho notato un’opzione DNS dinamica. Facendo clic un po ‘più a fondo, sono arrivato alla pagina di aiuto per i record sintetici, quindi DNS dinamici, che puoi leggere qui. Qui’s the tl; dr: Google offre questo servizio gratuitamente per i domini registrati sul loro servizio e supportano lo stesso protocollo Dyndns2 che fanno anche altri provider DNS dinamici.
Ma prima di chiudere la finestra pensando che io’D costruire una nuova VM Linux nel mio laboratorio di casa, ho visto questo:

E poi mi sono davvero eccitato, perché ciò significava che avrei potuto lanciare la mia soluzione per aggiornare il loro servizio DNS dinamico con PowerShell! Affinché’è quello che ho fatto.
Utilizzo di PowerShell per aggiornare il tuo record DNS dinamico
Google’S Dynamic DNS API è davvero poco meno di un post HTTPS su un URL specifico con alcuni parametri impacchettati nel post. Ciò che lo fa funzionare, tuttavia, è per ogni nome host DNS dinamico che fornisci, si ottiene un nome utente e una password generati automaticamente che devono far parte del post. PowerShell è davvero naturale per questo tipo di automazione, grazie a Invoke-Webrequest (link MSDN). Esso’S costruito per questo e supporta persino HTTPS. Diamine, supporta persino l’implementazione del nome utente: password nella richiesta tramite un oggetto PSCredential.
Tutto quello che dovevo davvero fare era avvolgere il codice in una funzione e aggiungere alcuni parametri che possono essere passati, invocare la richiesta Web e analizzare i risultati. Qui’s uno snippet della funzione più ampia che ho menzionato sopra:
[CmdletBinding(SupportsShouldProcess = $true)] Param ( [parameter(Mandatory=$true)] [pscredential] $credential, [parameter(Mandatory = $true)] [string]$domainName, [parameter(Mandatory = $true)] [string]$subdomainName, [parameter(Mandatory = $false)] [string]$ip, [parameter(Mandatory = $false)] [switch]$offline, [parameter(Mandatory = $false)] [switch]$online ) begin < $webRequestURI = "https://domains.google.com/nic/update" $params = @<>> processo < $splitDomain = $domainName.split(".") if ($splitDomain.Length -ne 2) < Throw "Please enter a valid top-level domain name (yourdomain.tld)" >$ subddomain = $ subdomainName + "." + $ dominname $ splitdomain = $ subdomain.diviso(".") Se ($ splitdomein.Lunghezza -ne 3) < Throw "Please enter a valid host and domain name (subdomain.yourdomain.tld)" >$ params.Aggiungi ("nome host", $ subddomain) se ($ ip -and !$ offline) < $ipValid = $true $splitIp = $ip.split(".") if ($splitIp.length -ne 4) < $ipValid = $false >Foreach ($ i in $ splitip) < if ([int] $i -lt 0 -or [int] $i -gt 255) < $ipValid = $false >> se (!$ ipvalid) < Throw "Please enter a valid IP address" >$ params.Aggiungi ("myip", $ ip)> elseif ($ offline -and !$ online) < $params.Add("offline","yes") >Elseif ($ Online -and !$ offline) < $params.Add("offline","no") >if ($ pscmdlet.Dovrebbe process ("$ subddomain", "aggiungendo IP") < $response = Invoke-WebRequest -uri $webRequestURI -Method Post -Body $params -Credential $credential $Result = $Response.Content $StatusCode = $Response.StatusCode if ($Result -like "good*") < $splitResult = $Result.split(" ") $newIp = $splitResult[1] Write-Verbose "IP successfully updated for $subAndDomain to $newIp." >if ($ risultato -simile a "nochg*") < $splitResult = $Result.split(" ") $newIp = $splitResult[1] Write-Verbose "No change to IP for $subAndDomain (already set to $newIp)." >if ($ result -eq "badauth") < Throw "The username/password you providede was not valid for the specified host." >if ($ risultato -eq "nohost") < Throw "The hostname you provided does not exist, or dynamic DNS is not enabled." >if ($ result -eq "NOTFQDN") < Throw "The supplied hostname is not a valid fully-qualified domain name." >if ($ result -eq "badagent") < Throw "You are making bad agent requests, or are making a request with IPV6 address (not supported)." >if ($ risultato -eq "abuso") < Throw "Dynamic DNS access for the hostname has been blocked due to failure to interperet previous responses correctly." >if ($ result -eq "911") < Throw "An error happened on Google's end; wait 5 minutes and try again." >> $ risposta> IO’VE ha evidenziato le righe che ti mostrano come il corpo del post HTTP ottiene i parametri e dove viene effettuata la richiesta. Il resto del codice è il controllo degli errori per assicurarsi che le persone inseriscano valori validi per le cose che Google si aspetterà (e hanno anche il controllo degli errori dalla loro parte, ma se continui a lanciare cattive richieste, Essi’Flagare le tue richieste e rifiutarle tutte. Solo un giusto avvertimento, quindi non’T spam con richieste cattive).
Usalo da solo!
Con questo codice, è possibile impostare ora utilizzare Native PowerShell per mantenere aggiornati i DN dinamici di Google Domains e senza la necessità di macchine separate o VM per eseguire utilità! Ho preso il codice sopra e ho creato un modulo, chiamato Googledynamicdnstools. Questo modulo può essere trovato sul mio github e io’Sono anche orgoglioso di annunciarlo L’ho reso disponibile sulla Galleria PowerShell! Ciò significa che puoi installare il modulo in due modi:
- Sulle macchine che eseguono Windows 10 (o con il framework di gestione 5 installato) è possibile eseguire il modulo di installazione -Name Googledynamicdnstrools (tu’Deve eseguire anche PowerShell come amministratore). Maggiori dettagli sull’uso di questo metodo sono disponibili nella pagina Leggi Me Leggi.
- Se indossi’vuoi installare il modulo tramite la galleria puoi scaricare il codice dal mio github e installarlo da solo.
Esempio di automazione
Una volta che hai il modulo, è possibile creare un’attività pianificata per eseguire ogni ora e aggiornare la voce DNS dinamica. Per il mio set up, ho scritto a .File di script PSD1 e dichiarato alcune variabili, ha creato un oggetto credenziale dal testo semplice, quindi chiama il modulo’funzione s per inviare la richiesta a Google. Qui’S un campione:
Import-module googledynamicdnstools $ logdate = get-date $ logfilename = "googlednsupdatelog_" + $ logdate.Mese + $ logdate.Giorno + $ logdate.Anno + "_" + $ logdate.Ora + $ logdate.Minuto + $ logdate.Secondo + ".txt "$ apiuerid =" myuniqueuserid "$ apipassword =" myuniquepassword "$ securepassword = converttto -securestring -string $ apipassword -asplaintext -force $ credential = new -object system.Gestione.Automazione.PSCredential $ ApiUnerID, $ SecurePassword Start -Transcript -Path ("C: \ dnslogs \" + $ logfilename) Update -googledynamicdns -credential $ credential -domainname "boatmurder.net "-subdomainname" dwarf "-verbose #clean up vecchi file di registro Get -childitem -path" C: \ dnslogs "| dove -object | rimozione -item -verbose stop -transcript Nella sceneggiatura sopra, io’Sto facendo un paio di altre cose al di fuori della funzione principale. Prima io’m Creazione manuale di un oggetto PSCredential con un nome utente e una password chiari. Quello’Probabilmente non è il modo migliore per farlo, ma questo è un rapido esempio. Ai fini della registrazione, sto usando Start-Transcript per acquisire tutti gli output del terminale e salvare una nuova trascrizione ogni volta che l’attività viene eseguita in modo da poter rivedere l’output per errori se ne ho bisogno. Infine, per assicurarci di indossare’T Riempi il mio disco rigido con i file di registro, l’ultima parte dello script guarda nella directory in cui io’m memorizzazione dei file di trascrizione e elimina qualsiasi cosa oltre 30 giorni.
Successivamente, ho creato un’attività programmata per chiamare PowerShell.exe con un parametro pari al nome dello script e impostalo in ogni ora. In questo modo, se il mio IP cambia perché il mio modem via cavo o il router va offline al massimo’Avrò un’ora fino a quando lo script non esegue e aggiorna la mia voce DNS.

Concesso, se il mio potere si spegne e il mio computer è spento, tutte le scommesse sono spente (ma quella’S A cosa servono i sistemi UPS, giusto?)
Andando avanti
Spero che il codice e gli esempi qui possano aiutarti a impostare qualcosa di utile come un aggiornamento del servizio DNS dinamico leggero su una macchina che usi ogni giorno. Parte del motivo per cui ho reso questo un modulo è stato nel tentativo di aggiungere più funzionalità API di Google DNS alla fine, ma ho sentito che è stato un buon inizio. Sentiti libero di rivedere il mio codice e apportare modifiche. IO’D adoro ottenere una richiesta di pull! E fammi sapere cosa ne pensi del modulo se lo prendi anche dalla PowerShell Gallery.
