È possibile che due nomi host condividano lo stesso indirizzo IP?


35

Qualcuno può spiegare se è possibile che due nomi host condividano lo stesso indirizzo IP?

E che dire se un nome host rappresenta più di un indirizzo IP, è possibile anche questo? Perché?


18
Vuoi un esempio del mondo reale in cui succede? Effettua il ping serverfault.comed superuser.comesamina l'indirizzo IP che viene restituito per entrambi.
Scott Chamberlain,

1
Tutti i nomi host condividono già l'indirizzo 127.0.0.1, una specie di ...
jlliagre

Risposte:


45

È anche possibile assegnare più di un indirizzo IP a un nome host:

rr.example.com.        A      192.0.2.12
rr.example.com.        A      192.0.2.23
rr.example.com.        A      192.0.2.34
rr.example.com.        A      192.0.2.45

Quando si esegue una query su un server DNS per rr.example.com, viene visualizzato nuovamente un elenco di indirizzi IP. È quindi possibile scegliere di connettersi a uno di essi. Se il primo tentativo di connessione viene rifiutato attivamente, prova il successivo.

La maggior parte dei browser seguirà questo flusso, purché gli endpoint rifiutino attivamente la connettività TCP. In caso di timeout dell'endpoint, la risorsa sarà trattata come irraggiungibile anche se non tutti gli IP sono stati provati

Poiché la maggior parte delle applicazioni (browser inclusi) sono spesso interessate solo a 1 endpoint IP alla volta e sceglie solo la prima risposta disponibile, si rischia di distorcere il carico tra i server di destinazione in modo che il primo server riceva tutto il traffico mentre gli altri potrebbero essere inattivi .

Per ovviare a questo, la maggior parte dei server DNS offre quella che è conosciuta come una configurazione Round Robin, facendo alternare il server nell'ordine in cui vengono restituiti record ugualmente corrispondenti. Prima che i bilanciatori del carico fossero all'ordine del giorno, questo era un modo efficiente per bilanciare il carico e implementare in qualche modo la tolleranza agli errori sui sistemi di rete.


7
La domanda non sta ponendo il contrario?
mowwwalker,

2
Ci sono due domande @Sirch ha già trattato abbastanza bene la prima parte
Mathias R. Jessen il

Oh, vedo, ho saltato la descrizione. Grazie per la risposta tra l'altro!
mowwwalker,

1
I browser / stack di rete in genere provano il primo indirizzo ricevuto? O ne proveranno uno a caso? Avrebbe senso randomizzare l'ordine in cui gli IP vengono restituiti dal tuo server DNS per cercare di bilanciare il carico?
Tom Marthenal,

Dipende dall'implementazione specifica del client. La maggior parte dei server randomizzerà l'ordine degli indirizzi IP restituiti (questo è il comportamento indicato come "round-robin"). In realtà domande interessanti, penso che amplierò un po 'la risposta
Mathias R. Jessen il

35

Sì, è possibile che più nomi host utilizzino lo stesso indirizzo IP, la migliore pratica è utilizzare un record CNAME per puntare al record A

bar.example.com.        CNAME  foo.example.com.
foo.example.com.        A      192.0.2.23

Prendi nota di tutte le fermate.

Avere un nome host per rappresentare più indirizzi IP è un po 'più complicato. Se stiamo parlando di record MX, questa soluzione esiste già nel DNS utilizzando numeri prioritari, se si desidera che rappresenti più record A, è meglio usare un bilanciamento del carico, ad esempio HAProxy.


6
Vale la pena notare, e ho visto su Internet reale, catene di CNAME che hanno rotto i risolutori di nomi. Perché un CNAME può puntare a un altro CNAME. Anche i loop CNAME sono possibili.
PP.


Vale anche la pena sottolineare che i Arecord contenenti lo stesso IP possono apparire in zone diverse, ad esempio, x.foo.com. A 1.2.3.4e y.bar.com. A 1.2.3.4.
Blrfl,

Questa risposta dimentica di raccontare i Arecord con caratteri jolly , che portano anche a più nomi host sullo stesso IP.
Izzy,

Ehi Sirch, qual è il problema con i fullstops?
JonoRR,

6

Oltre alla modifica CNAME come suggerito da altre risposte, devi anche gestire la logica sul tuo server di hosting. Uso Apache e l'ho configurato come:

<VirtualHost 1.2.3.4:80>
    ServerName  www.abc.com
    ServerAlias abc.com
    ...
</VirtualHost>

<VirtualHost 1.2.3.4:80>
    ServerName  www.xyz.com
    ServerAlias xyz.com
    ...
</VirtualHost>

Sono sicuro che altri software per server http hanno cose simili.


2

Devi essere chiaro su cosa intendi con due nomi host. Se intendi due caselle fisiche con lo stesso indirizzo IP, la risposta è generalmente no. Un caso in cui si verificherebbe se serverA e serverB funzionano come un cluster attivo-passivo, quindi ogni server avrebbe due indirizzi al pezzo. Uno sarebbe un indirizzo IP dedicato a quel server e il secondo indirizzo IP sarebbe stato condiviso tra i server, ma solo il server attivo ascolterà quell'indirizzo condiviso. Il server passivo inizia l'ascolto nell'indirizzo condiviso solo quando il server attivo non funziona.


2

Vale anche la pena notare che in IPv6 è possibile assegnare lo stesso IP a due o più host e la rete eseguirà il bilanciamento del carico e il failover per l'utente (se uno non è raggiungibile, provare l'altro). Entrambi sono considerati come un endpoint logico e non è coinvolto alcun DNS.

Questa funzione è nota come Anycast .


1

IP multipli per uno stesso dominio:

  • Sì, è possibile e molto comune: se un server (con ip A) cade, è possibile connettersi al successivo IP del registro DNS e accedere a un altro server (con ip B) per ottenere il servizio.

Dominio multiplo per uno stesso IP:

Devi rispondere alla domanda successiva: tutti i domini offrono lo stesso servizio?

  • Se sì: è anche una configurazione molto comune: molte aziende acquistano molti domini con domini top di paesi diversi: xxx.com, xxx.net, xxx.org, ecc. E tutti puntano allo stesso servizio, ovvero , allo stesso elenco di IP.
  • Se no: è possibile ma non comune e non consigliato. Alcune società di hosting che consentono solo il servizio HTTP utilizzano NAT / Proxy per risparmiare IP. Ma ovviamente ciò significa un proxy che "capisce" l'HTTP per identificare il servizio di destinazione.

0

Molti server nelle telecomunicazioni (come HSS e PCRF) utilizzano il trasporto SCTP e quindi questi server hanno più indirizzi IP. Questi indirizzi vengono utilizzati per il multi-homing (che supporta SCTP) fornendo la connessione con ridondanza e failover.

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.