Come configurare smartphone e PC. Portale informativo

I migliori server DNS per i giochi. IgorKa - Risorsa informativa

A volte è necessario registrare il DNS per un computer con un indirizzo IP dinamico. Il modo semplice A questo scopo esistono servizi come dyndns, descritti in un topic recente. A volte questo approccio funziona piuttosto male.

Ad esempio, nella mia situazione, il provider A volte cambia il mio indirizzo IP pubblico. Questo a volte accade di solito una volta ogni pochi mesi. Inoltre, il mio computer di casa si riavvia raramente. Durante questo periodo, il servizio dyndns, che utilizzavo in precedenza, è riuscito a inviarmi un paio di volte notifiche di inattività per disattivare l'account “inutilizzato”. Passa alla registrazione manuale Zona DNS Inoltre non funziona perché a volte l’indirizzo cambia ancora. Inoltre, di solito lo scopri quando hai bisogno di accedervi computer di casa qui e ora.

Per implementare il metodo descritto, avrai bisogno di un server su Internet con DNS vincolare il server su di esso. E anche zona del dominio, il sottodominio di cui assegneremo per il nostro computer. Viene descritta un'opzione per connettere un computer Linux a un server Linux. Per l'uso da parte di altri sistemi operativi Sarà necessario leggere i manuali e modificare alcuni passaggi.

COSÌ:
1. Abbiamo server installato bind9 con dominio server.org
2. Crea una zona client.server.org.zone:

$ORIGINE.
$ TTL 10; 10 secondi
client.server.net IN SOA ns1.server.net. hostmaster.server.net. (
18; seriale
10800; aggiornamento (3 ore)
3600; riprova (1 ora)
604800; scadenza (1 settimana)
10; minimo (10 secondi)
$ TTL 3600; 1 ora
NS ns1.server.net.
NS ns2.server.net.
MX 10client.server.net.

Qui i server ns1.server.net e ns2.server.net - Server DNS e per la nostra zona, client.server.net è l'indirizzo del nostro computer di casa

3. generare le chiavi sul client:
client# cd /etc/namedb/keys
client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.

4. Crea un file con la chiave sul server:
server# cd /var/named/chroot/etc
server# chiavi vim.conf:

Chiave client.server.net. (
algoritmo "HMAC-MD5";
segreto "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA==";
};

IN in questo caso usato chiave simmetrica, che non è sicuro: se qualcuno ha accesso al file della chiave sul tuo server, può utilizzare la tua chiave per modificare i dati della tua zona. In questo caso è possibile utilizzare una chiave asimmetrica.

Impostare i diritti di accesso al file con i tasti:
server# chmod 640 chiavi.conf
server# chown root: denominato keys.conf

5. aggiungi la nostra zona a name.conf:
includere "/etc/keys.conf"
zona "client.server.net" (
tipo principale;
file "zone/client.server.net";
consenti aggiornamento(
chiave client.server.net;
};
};

Ecco un parametro che ti consente di aggiornare i dati della zona. In generale, dopo aver letto i manuali, è possibile trovare opzioni per questo parametro che consentono di aggiornare un solo record nella zona per data chiave. Cioè puoi avere una zona con i sottodomini client1, client2, ecc. registrati al suo interno. che verrà autorizzato con le chiavi key1, key2, ecc.

6. Riavvia il server DNS:
server# /etc/init.d/named ricaricare

7. Crea uno script sul client che aggiornerà i dati della zona:
#!/bin/bash
IFACE="wlan0"
TTL=3600
SERVER=ns1.esempio.com
NOMEHOST=foo.esempio.com
ZONA=esempio.com
KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private

Nuovo_indirizzo_ip=`ifconfig $IFACE | grep "inet indirizzo:" | awk "(stampa $2)" | awk -F ":" "(stampa $2)"`
nuovo_indirizzo_ip=$(nuovo_indirizzo_ip/ /)

Nsupdate -v -k $KEYFILE<< EOF
server$SERVER
zona $ZONA
aggiorna elimina $HOSTNAME A
aggiorna aggiungi $HOSTNAME $TTL A $new_ip_address
Inviare
EOF

All'inizio dello script vengono descritti i parametri corrispondenti: interfaccia, nomi di server e zone, posizione del file con la chiave.

8. Non resta che configurare l'avvio automatico/il cambio automatico dell'indirizzo quando si cambia DNS.
Lo faremo utilizzando uno script per NetworkManager:
creare un file /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh

Ifaccia=$1
stato=$2

Se [ "x$stato" == "xup"]; Poi
/etc/namedb/ddns-update
elif [ "x$stato" == "xgiù"]; Poi
VERO
fi

Rendiamolo eseguibile e di proprietà dell'utente root.

Lanciamo, controlliamo, utilizziamo.

Aggiornamento: se non funziona, controlla (imposta) sul server i diritti di Named per scrivere nella cartella in cui si trova il file client.server.org.zone
Named creerà lì un file client.server.org.zone.jnl

Sono stati utilizzati i seguenti materiali.

A volte è necessario registrare il DNS per un computer con un indirizzo IP dinamico. Un modo semplice per farlo sono servizi come dyndns, descritti nel recente argomento Collegamento di un dominio e IP dinamico. A volte questo approccio funziona piuttosto male.

Ad esempio, nella mia situazione, il provider A volte cambia il mio indirizzo IP pubblico. Questo a volte accade di solito una volta ogni pochi mesi. Inoltre, il mio computer di casa si riavvia raramente. Durante questo periodo, il servizio dyndns, che utilizzavo in precedenza, è riuscito a inviarmi un paio di volte notifiche di inattività per disattivare l'account “inutilizzato”. Inoltre non è possibile passare a una zona DNS registrata manualmente, perché a volte l'indirizzo cambia ancora. Inoltre, di solito lo scopri quando hai bisogno di accedere al tuo computer di casa qui e ora.

Per implementare il metodo descritto, avrai bisogno di un server in Internet su cui sia collegato un server DNS. Oltre a una zona di dominio, il cui sottodominio assegneremo per il nostro computer. Viene descritta un'opzione per connettere un computer Linux a un server Linux. Per utilizzare altri sistemi operativi sarà necessario leggere i manuali e modificare alcuni passaggi.

COSÌ:
1. Abbiamo un server bind9 installato con il dominio server.org
2. Crea una zona client.server.org.zone:

$ORIGINE.
$ TTL 10; 10 secondi
client.server.net IN SOA ns1.server.net. hostmaster.server.net. (
18; seriale
10800; aggiornamento (3 ore)
3600; riprova (1 ora)
604800; scadenza (1 settimana)
10; minimo (10 secondi)
$ TTL 3600; 1 ora
NS ns1.server.net.
NS ns2.server.net.
MX 10client.server.net.

Qui i server ns1.server.net e ns2.server.net sono i server DNS per la nostra zona, client.server.net è l'indirizzo del nostro computer di casa

3. generare le chiavi sul client:
client# cd /etc/namedb/keys
client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.

4. Crea un file con la chiave sul server:
server# cd /var/named/chroot/etc
server# chiavi vim.conf:

Chiave client.server.net. (
algoritmo "HMAC-MD5";
segreto "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA==";
};

In questo caso viene utilizzata una chiave simmetrica, il che non è sicuro: se qualcuno ha accesso al file della chiave sul tuo server, può utilizzare la tua chiave per modificare i dati della tua zona. In questo caso è possibile utilizzare una chiave asimmetrica.

Impostare i diritti di accesso al file con i tasti:
server# chmod 640 chiavi.conf
server# chown root: denominato keys.conf

5. aggiungi la nostra zona a name.conf:
includere "/etc/keys.conf"
zona "client.server.net" (
tipo principale;
file "zone/client.server.net";
consenti aggiornamento(
chiave client.server.net;
};
};

Ecco un parametro che ti consente di aggiornare i dati della zona. In generale, dopo aver letto i manuali, è possibile trovare opzioni per questo parametro che consentono di aggiornare solo un record nella zona per una determinata chiave. Cioè puoi avere una zona con i sottodomini client1, client2, ecc. registrati al suo interno. che verrà autorizzato con le chiavi key1, key2, ecc.

6. Riavvia il server DNS:
server# /etc/init.d/named ricaricare

7. Crea uno script sul client che aggiornerà i dati della zona:
#!/bin/bash
IFACE="wlan0"
TTL=3600
SERVER=ns1.esempio.com
NOMEHOST=foo.esempio.com
ZONA=esempio.com
KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private

Nuovo_indirizzo_ip=`ifconfig $IFACE | grep "inet indirizzo:" | awk "(stampa $2)" | awk -F ":" "(stampa $2)"`
nuovo_indirizzo_ip=$(nuovo_indirizzo_ip/ /)

Nsupdate -v -k $KEYFILE<< EOF
server$SERVER
zona $ZONA
aggiorna elimina $HOSTNAME A
aggiorna aggiungi $HOSTNAME $TTL A $new_ip_address
Inviare
EOF

All'inizio dello script vengono descritti i parametri corrispondenti: interfaccia, nomi di server e zone, posizione del file con la chiave.

8. Non resta che configurare l'avvio automatico/il cambio automatico dell'indirizzo quando si cambia DNS.
Lo faremo utilizzando uno script per NetworkManager:
creare un file /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh

Ifaccia=$1
stato=$2

Se [ "x$stato" == "xup"]; Poi
/etc/namedb/ddns-update
elif [ "x$stato" == "xgiù"]; Poi
VERO
fi

Rendiamolo eseguibile e di proprietà dell'utente root.

Lanciamo, controlliamo, utilizziamo.

Aggiornamento: se non funziona, controlla (imposta) sul server i diritti di Named per scrivere nella cartella in cui si trova il file client.server.org.zone
Named creerà lì un file client.server.org.zone.jnl

Sono stati utilizzati i seguenti materiali.

L'articolo non è più rilevante. Yandex sta trasferendo tutti su Yandex.Connect. L'API Connect attualmente non ha la capacità di gestire i record DNS. L'API pdd.yandex non funziona più.
Puoi utilizzare l'API di Telegram per ottenere un IP dinamico. Istruzioni

Utilizzo da tempo i servizi di dyndns per connettermi dall'esterno a un downloader di dump/torrent di file home su un server gratuito, che ha un IP dinamico del provider. Sebbene dyndns paghi da molto tempo questo servizio per i nuovi utenti registrati, io l'ho utilizzato gratuitamente, perché mi sono registrato prima che iniziassero a chiedermi soldi. Ma l'altro giorno ho ricevuto una lettera che non possono più fornirmi questo servizio gratuitamente e dal mese prossimo dovrò pagarlo. Questo non mi andava bene e ho iniziato a cercare una via d'uscita dalla situazione attuale.

Dato che i miei domini sono delegati a Yandex DNS, ho iniziato a leggere i manuali per la loro API ed è stata trovata una soluzione. Te ne parlerò qui sotto.

Per utilizzare Yandex API dobbiamo ottenere un token. Ottenerlo è abbastanza semplice, basta inserirlo nel browser.

Https://pddimp.yandex.ru/get_token.xml?domain_name=domen.ru

Dove domen.ru è il tuo dominio delegato a Yandex. Inseriamo il captcha e nell'output cerchiamo:

Gettone="XXXXXX"

Il tuo token sarà tra virgolette. Copiamolo da qualche parte, ci servirà un po' più tardi.
Adesso dobbiamo aggiungere un sottodominio al nostro dominio, che si collegherà ad una macchina con IP dinamico. Vai su https://pdd.yandex.ru, seleziona il dominio e fai clic su "Editor DNS" e aggiungi lì un record A per il dominio:

Nel campo “Host”, inserisci il sottodominio e nel campo “Registra valore”, scrivi l'eventuale ip (successivamente cambierà quando cambia l'ip della tua auto).

Ora dobbiamo ottenere l'id del nostro post. Per fare ciò, inserisci nel browser:

Https://pddimp.yandex.ru/nsapi/get_domain_records.xml?token=XXXXXX&domain=domen.ru

Dove XXXXXXX è il tuo token e domen.ru è il tuo dominio delegato a Yandex.

Nell'output cerchiamo la riga con la nostra voce myhome.domen.ru e in questa riga troviamo:

Id="1234567"

L'ID del post è tra virgolette, quindi copialo da qualche parte.

Ora scriviamo lo script su un'auto con IP dinamico. Lo script controllerà l'IP esterno dell'auto una volta ogni mezz'ora e, se è cambiato, cambierà il record A sul DNS Yandex.

# ee /usr/local/bin/dyndns.sh

#!/bin/sh PERCORSO=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin; esporta PATH DOMEN="domen.ru" # il tuo dominio delegato a Yandex SUB=miacasa # sottodominio TOKEN=XXXXXX # token RECID=1234567 # record id while true; do IP="curl -s http://ip..domen.ru dns1.yandex.ru | grep has | awk "(print $4)"` # sostituisci miacasa.domen.ru con il tuo sottodominio if [ $IP != $YAIP ] quindi curl -s "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=$TOKEN&domain=$DOMEN&subdomain=$SUB&record_id=$RECID&content=$IP&ttl=1800" fi sleep 1800;

Modificare i valori delle variabili in base ai commenti.

Rendere eseguibile lo script:

# chmod +x /usr/local/bin/dyndns.sh

E aggiungi la voce corrispondente a cron:

# crontab -e @reboot /usr/local/bin/dyndns.sh

Questo è tutto, ora dopo il riavvio lo script verrà eseguito automaticamente. Riavviamo o eseguiamo lo script manualmente e controlliamo su https://pdd.yandex.ru se il valore della voce per il nostro sottodominio è cambiato.

PS Per rendere tutto completamente gratuito non devi acquistare un dominio ma utilizzare un dominio gratuito nella zona .tk. Puoi acquistarlo sul sito web www.dot.tk

I computer sulla rete (incluso Internet) non hanno nomi; il trasferimento dei dati viene effettuato utilizzando indirizzi IP.

Indirizzo IP(Indirizzo protocollo Internet) - un indirizzo numerico su Internet, simile a 123.123.123.123. Gli indirizzi IP sono difficili da ricordare per gli esseri umani, soprattutto quando si visitano decine di siti al giorno con indirizzi IP diversi.

In modo simile a come salvi i numeri di telefono, puoi conservare una rubrica o una directory telefonica per gli indirizzi IP. Il ruolo di un elenco telefonico su Internet è svolto da DNS(Domain Name System), sistema dei nomi di dominio. Quando si inserisce un nome di dominio in un browser Internet, questo viene convertito tramite DNS in un indirizzo IP, che viene utilizzato per accedere al server.

Infatti, i server DNS memorizzano non solo l’indirizzo IP del server, ma anche altri dati come i record di risorse DNS “MX”, “TXT”, “A”, “CNAME”, “SOA”.

I server DNS, che memorizzano informazioni su migliaia o milioni di domini, sono spesso ospitati su server separati e potenti. In questi casi con l'espressione “server DNS” si può intendere l'intero complesso software e hardware (server e programma stesso).

Perché registrare i server DNS per un dominio?

Quando registri un nuovo nome di dominio, nessun server DNS su Internet lo sa. E finché le informazioni sul tuo dominio non verranno visualizzate sui server DNS di Internet, né il sito Web, né la posta, né altri servizi funzioneranno.

Affinché i server DNS su Internet possano conoscere il tuo dominio, qualcuno deve dirglielo e questo qualcuno è il server DNS che registri per il tuo dominio. Svolge il ruolo di “portavoce” che mantiene sempre le informazioni più recenti sul tuo dominio. Ad esempio, i server DNS di hosting ns1.hosting.site e ns2.hosting.site memorizzano informazioni sui domini collegati al sito di hosting.

Informazioni sulle differenze tra i server DNS ns1.hosting..hosting.sito E ns1..sito e leggi quale di queste coppie è giusta per te.

I server DNS sono registrati in coppia, questo viene fatto per una migliore tolleranza agli errori: se un server DNS fallisce, l'altro continuerà a funzionare.

Schema per determinare un indirizzo IP in base al nome di dominio

Questo diagramma spiega brevemente cosa succede quando desideri visitare un determinato sito.

  1. 1 Il computer contatta i server DNS del tuo ISP ( freccia 1). I server DNS del provider cercano l'indirizzo IP nella loro cache (un buffer intermedio ad accesso veloce) e, se lo trovano, ti danno questo IP e tramite IP il tuo computer accede al server su cui è ospitato il sito ( freccia 7).
  2. 2 Se la coppia “dominio-indirizzo IP” non è nella cache, il server DNS del provider effettua query ricorsive ai server DNS root ( freccia 2), di cui ce ne sono solo pochi in tutto il mondo. Le modifiche alle impostazioni del dominio sui server root non vengono aggiornate istantaneamente, ma ogni poche ore. Ad esempio, le modifiche nei server DNS root della zona RU vengono aggiornate solo 4 volte al giorno. I server root restituiscono gli indirizzi dei server DNS del dominio ( freccia 3) su cui è memorizzata la zona DNS del dominio.
  3. 3 Dopo aver ricevuto gli indirizzi dei server DNS, il provider effettua una richiesta a uno di essi ( freccia 4), riceve in risposta l'indirizzo IP richiesto ( freccia 5), lo memorizza nella cache (in modo da non dover contattare ogni volta il server DNS root) e lo passa al browser ( freccia 6).
  4. 4 E solo ora che il browser possiede l'indirizzo IP del sito può contattare il server hosting su cui si trova il sito ( freccia 7) e puoi visualizzarlo sullo schermo del computer ( freccia 8).

COSÌ:

  • Le informazioni sui root server vengono aggiornate solo poche volte al giorno.
  • I provider Internet, di norma, aggiornano la cache del server DNS non più di una volta al giorno (alcuni provider aggiornano la cache anche meno frequentemente, ma di solito non più di 72 ore), quindi se dopo la registrazione o il trasferimento di un dominio (modifica dei server DNS) , Il sito non ha funzionato subito, non preoccuparti: aspetta solo un po'.
  • Per verificare se il DNS è stato aggiornato, utilizzare .

La struttura del funzionamento DNS sopra descritta è notevolmente semplificata; per i dettagli è possibile fare riferimento alla letteratura di riferimento su Internet.

I migliori articoli sull'argomento