Puoi impostare un IP di backup per il tuo server in DNS?


10

Esiste un modo in cui il protocollo DNS può contenere naturalmente un indirizzo del server di record A di backup, come il server dei nomi di backup o i record del server di posta? Durante la ricerca di questo ho visto solo i risultati sui server dei nomi di backup (record NS).

Se non esiste un modo per il DNS di supportare i record di backup A, qual è il modo migliore per simulare i risultati in modo che gli utenti vengano indirizzati a un server funzionante nel caso in cui il server primario non risponda?

Risposte:


12

Sì ... una specie di.

Ci sono due cose che puoi fare qui: se inserisci più record A nel tuo server DNS per un determinato nome, allora saranno tutti serviti ai client e quei client ne sceglieranno uno dal set a cui connettersi, il che significa che il traffico verrà essere "equamente" distribuiti uniformemente su tutti i siti contemporaneamente. Questo non è proprio quello che sembra stia descrivendo, ma è una situazione comune (anche se non mi fido, per una serie di ragioni).

L'altra opzione è che hai inserito solo un record A nel tuo server DNS e il server DNS (o qualcosa di ausiliario ad esso, come uno script di monitoraggio) tiene d'occhio l'indirizzo principale del tuo sito e, in caso contrario, il server A del server DNS il record viene modificato sull'altro tuo sito. Ciò significa che solo un sito riceverà traffico alla volta.

L'aspetto negativo di questa seconda strategia è la memorizzazione nella cache DNS. Chiunque abbia ottenuto il vecchio indirizzo del sito sarà SOL fino a quando le loro voci della cache DNS contenenti il ​​vecchio indirizzo non verranno eliminate. Ciò significa che devi mantenere bassi i tuoi TTL (aumentando il carico sulla tua infrastruttura DNS, anche se raramente è un problema pratico), ma c'è ancora il problema delle cache DNS "non autorizzate", che non rispettano i TTL. Questi sono un dolore enorme per chiunque chi deve mai cambiare le voci DNS, ma sono un milione di volte peggio per chiunque abbia bisogno di cambiare le voci DNS "spesso" (speriamo che il tuo sito non vada giù più volte al giorno, ma comunque ...) Fondamentalmente, chiunque dietro una di queste cache DNS che si comportano male si vedrà il tuo sito "inattivo" per un periodo di tempo estremamente lungo, e prova a spiegare loro che è la loro cache DNS che è in errore ... Eugh.

In breve, non lo farei per un sito, perché ci sono modi migliori per mitigare qualsiasi rischio tu stia pensando, ma dovrai descriverlo se vuoi suggerimenti su come mitigarlo.


Il rischio è che il server principale si spenga (per qualsiasi motivo) voglio che i miei utenti vengano inoltrati a un server di backup. Intendo l'anno scorso il mio server è andato in crash una volta (catastrofico fallimento del raid). Avevo i backup, quindi i dati erano al sicuro, ma il mio sito Web è rimasto inattivo per 12 ore. Pensavo che questo sarebbe stato il mio problema comune con una correzione "corretta". Pensavo che la compagnia avrebbe voluto un piano di backup.
kjones1876,

9
Non si desidera il failover DNS, si desidera hardware più affidabile e possibilmente un server hot standby.
womble

Le "cache DNS non autorizzate" sono una vecchia storia di mogli. Nessun software server DNS attuale mostra il comportamento di ignorare i TTL. I luoghi in cui i dati DNS vengono memorizzati nella cache in modo tale da causare problemi sono le applicazioni , ad esempio il famigerato problema di memorizzazione nella cache di ricerca di Netscape Navigator .
JdeBP,

@JdeBP: Nelle parole di Kevin Costner: "le cache DNS non autorizzate non sono un mito ... le ho viste!" Ho fatto gli scavi e ho visto i risultati folli e sconvolgenti. Più popolare tra i servizi con limitazioni di larghezza di banda e problemi di latenza ai tempi in cui quel genere di cose era comune (ISP dialup il cui collegamento a monte era ISDN, per esempio), ora sono utilizzati principalmente da persone che hanno sentito parlare di loro come un buon idea molto tempo fa e da allora non hanno cambiato idea (non che fossero una buona idea allora ... ma sì).
womble

6

Tutti sembrano pensare che stai parlando di server WWW, anche se hai scritto esplicitamente

come un server dei nomi di backup o un server di posta

La verità spesso trascurata è che il servizio HTTP è l'eccezione e non la norma quando si tratta di questo. Nel caso normale, sì, c'è un meccanismo per la pubblicazione di informazioni ai clienti tramite il DNS in modo che correttamente ripiego da server primari al server di backup. Tale meccanismo è costituito SRVda record di risorse, utilizzati dai client di servizio per molti altri protocolli oltre a HTTP. Vedi RFC 2782.

Con i SRVrecord delle risorse, ai clienti viene comunicato un elenco di server, con priorità e pesi, e sono tenuti a provare i server in ordine di priorità, scegliendo tra server con priorità uguali in base al peso, scegliendo server con peso più elevato più spesso rispetto a quelli con peso inferiore quelli. Pertanto, con i SRVrecord delle risorse, gli amministratori dei server possono dire ai client quali sono i server di fallback e come distribuire il loro carico su un set di server con priorità uguale.

Ora i server DNS di contenuto sono individuati da un tipo speciale di record di risorse dei propri NSrecord di risorse, che non hanno informazioni di priorità e ponderazione. Allo stesso modo, i server di inoltro SMTP si trovano in base al proprio tipo speciale di record di risorse MX, che ha informazioni di priorità ma non informazioni di ponderazione. Pertanto, per i server DNS di contenuto non è prevista la pubblicazione di informazioni di fallback e distribuzione del carico; e se si utilizzano MXrecord di risorse, per i server di inoltro SMTP non è prevista la pubblicazione di informazioni sulla distribuzione del carico.

Tuttavia, SRVesistono ora MTS capaci. (Il primo è stato exim, che è stato SRV-capable dal 2005.) E per altri protocolli di servizio, non gravati dal bagaglio MXe dai NSregistri delle risorse, l' SRVadozione è molto più approfondita e diffusa. Se si dispone di un dominio Microsoft Windows, ad esempio, un'intera serie di servizi si trova attraverso le SRVricerche nel DNS . È stato il caso per più di un decennio, a questo punto.

Il problema è che tutti pensano a HTTP, quando HTTP è di gran lunga, oggi nel 2011, l'eccezione e non la regola qui.


mentre i record SRV sono ottimi per l'uso della rete interna quando l'ambiente è controllato, non lo tagliano per qualcosa come un server esterno con client eterogenei. non sai che si accederà al record poiché non sai se il client supporterà l'accesso ai record srv.
Michael Lowman,

1
Ancora una volta stai lasciando che HTTP gestisca il tuo pensiero. Per molti dei client sopra menzionati, i SRVrecord sono il modo definito per individuare i servizi. Si noti inoltre che la questione era se il meccanismo esistesse e quale fosse. Il meccanismo esiste e questo è il meccanismo. È stato ampiamente utilizzato per un decennio.
JdeBP,

Sicuramente il tuo diritto, srv è sicuramente il meccanismo corretto e in realtà fa altre cose che, sebbene DNS non potesse fare ma che desideravo poterlo fare. Purtroppo nessun browser di supporto srv. Anche se la domanda era specifica dell'HTTP perché ho detto "come il nome del server di backup o del server di posta", nel senso che esistono già soluzioni di backup per loro.
kjones1876,

1

se stai offrendo contenuti dinamici e non è pratico avere semplicemente due server che forniscono contenuti simultaneamente, allora l'altra opzione è avere più record sul tuo DNS e configurare il server di backup per lanciare la porta ICMP irraggiungibile ai client che provano a connettersi ; se in qualsiasi momento il server principale si spegne, è sufficiente rimuovere il blocco della porta 80 sul backup e il traffico inizierà a entrare.

L'unico altro modo (economico) per farlo è impostare una macchina separata (o due) per eseguire NAT su richiesta, quindi se un server web muore, puoi semplicemente rimuovere la regola NAT per esso.


Inizialmente ho stancato la tua prima idea, ho appena disattivato apache sul server principale ma il browser ha continuato a provare a connettersi comunque. Ma trasformare apache ovviamente sarebbe un errore ICMP? In caso contrario, come posso rendere il server tramite un errore ICMP?
kjones1876,

no, la connessione si
interromperà

iptables -I INPUT -p tcp --dport 80 -j REJECT --reject-with icmp-port-irraggiungibile
Olipro

L'ho stancato e la gente non è riuscita a connettersi ... Ho anche scollegato il server sul quale stavo testando.
kjones1876,

L'interrogatore non stava parlando specificamente solo dei server WWW. In effetti, xe menzionava esplicitamente mail e server dei nomi.
JdeBP,

0

Non ci sono record A di backup, ma possono esserci diversi record A che vengono dati in ordine casuale.

La maggior parte dei browser è in grado di provare un altro server in caso di guasto. (Vedi: Resilienza Web con Round Robin DNS )

È possibile avere un indirizzo IP del cluster supportato da più server con VRRP o CARP . Il server di backup assume l'indirizzo quando il server primario non funziona.


L'interrogatore non stava parlando specificamente solo dei server WWW. In effetti, xe menzionava esplicitamente mail e server dei nomi.
JdeBP,

@JdeBP: Oh. Mi sembra di essere cieco. Siamo spiacenti: P
jkj il

0

Sì, ma devi farlo tu stesso ;-)

Potresti fornire maggiori informazioni sul motivo per cui desideri un "backup A record" e su come e in quali circostanze desideri andare al backup.

Inoltre, sarebbe utile conoscere la relazione dal punto di vista della rete tra host primario e host di backup.


0

Questa è una domanda piuttosto vecchia, ma due risposte non significative sono state introdotte nelle risposte: DNS dinamico e CDN.

Il DNS dinamico è impostato in modo tale che i record DNS possano essere modificati quasi in tempo reale, in modo che un client di monitoraggio possa attivare le modifiche ai record DNS A pubblici secondo la disponibilità del servizio. (Ovviamente, il tuo servizio di hosting DNS deve supportare il DNS dinamico.)

I CDN possono anche essere utilizzati per fornire DNS, come ad esempio Cloudflare (che è stato lanciato nel 2010, credo).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.