Ist es möglich, dass zwei Hostnamen dieselbe IP-Adresse haben?

35

Kann jemand erklären, ob es möglich ist, dass zwei Hostnamen dieselbe IP-Adresse haben?

Und was ist, wenn ein Hostname mehr als eine IP-Adresse repräsentiert? Ist das auch möglich? Warum?

Jean
quelle
18
Möchten Sie ein Beispiel aus der Praxis, in dem es passiert? Pingen Sie serverfault.comund superuser.comund schauen Sie sich die IP-Adresse an, die für beide zurückgegeben wird.
Scott Chamberlain
1
Alle Hostnamen teilen bereits die 127.0.0.1-Adresse, Art von ...
jlliagre

Antworten:

45

Es ist auch möglich, einem Hostnamen mehr als eine IP-Adresse zuzuweisen:

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

Wenn Sie einen DNS-Server abfragen, erhalten rr.example.comSie eine Liste der IP-Adressen zurück. Sie können dann eine Verbindung zu einem dieser Geräte herstellen. Sollte der erste Verbindungsversuch aktiv abgelehnt werden, versuchen Sie es einfach mit dem nächsten.

Die meisten Browser folgen diesem Ablauf, solange die Endpunkte die TCP-Konnektivität aktiv ablehnen. Sollte ein Endpunkt-Timeout auftreten, wird die Ressource als nicht erreichbar behandelt, obwohl nicht alle IP-Adressen ausprobiert wurden

Da die meisten Anwendungen (einschließlich Browser) häufig jeweils nur an einem IP-Endpunkt interessiert sind und nur die erste verfügbare Antwort auswählen, besteht die Gefahr, dass die Last zwischen den Zielservern verschoben wird, sodass der erste Server den gesamten Datenverkehr erhält, während die anderen Server möglicherweise inaktiv sind .

Um dies zu umgehen, bieten die meisten DNS-Server eine sogenannte Round-Robin-Konfiguration an, bei der der Server die Reihenfolge wechselt, in der gleichmäßig übereinstimmende Einträge zurückgegeben werden. Bevor Load Balancer an der Tagesordnung waren, war dies ein effizienter Weg, um die Fehlertoleranz auf Netzwerksystemen auszugleichen und einigermaßen zu implementieren.

Mathias R. Jessen
quelle
7
Ist die Frage nicht umgekehrt?
Mowwwalker
2
Es gibt zwei Fragen. @ Sirch deckte den ersten Teil schon ziemlich gut ab
Mathias R. Jessen
Oh, ich verstehe, ich habe die Beschreibung übersprungen. Danke übrigens für die Antwort!
Mowwwalker
1
Versuchen Browser / Netzwerkstacks normalerweise, die erste empfangene Adresse zu ermitteln? Oder werden sie es zufällig versuchen? Wäre es sinnvoll, die von Ihrem DNS-Server zurückgegebenen IP-Adressen nach dem Zufallsprinzip zu sortieren, um zu versuchen, die Last auszugleichen?
Tom Marthenal
Hängt von der spezifischen Client-Implementierung ab. Die meisten Server ordnen die zurückgegebenen IP-Adressen nach dem Zufallsprinzip (dies ist das als "Round-Robin" bezeichnete Verhalten). Eigentlich interessante Fragen, ich denke, ich werde die Antwort ein wenig erweitern
Mathias R. Jessen
35

Ja, es ist möglich, dass mehrere Hostnamen dieselbe IP-Adresse verwenden. Am besten verwenden Sie einen CNAME-Eintrag, um auf den A-Eintrag zu verweisen

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

Beachten Sie alle Punkte.

Ein Hostname für mehrere IP-Adressen ist etwas komplizierter. Wenn es sich um MX-Einträge handelt, ist diese Lösung bereits in DNS mit Prioritätsnummern vorhanden. Wenn Sie möchten, dass mehrere A-Einträge dargestellt werden, sollten Sie einen Lastenausgleich verwenden, z. B. HAProxy.

Sirch
quelle
6
Es ist erwähnenswert, und ich habe im realen Internet Ketten von CNAMEs gesehen, die Namensauflöser brachen. Weil ein CNAME auf einen anderen CNAME verweisen kann. Auch CNAME-Schleifen sind möglich.
PP.
2
RFC 1912 2.4 ietf.org/rfc/rfc1912.txt
dmourati
Es ist auch darauf hinzuweisen, dass ADatensätze mit derselben IP in verschiedenen Zonen angezeigt werden können, z . B. x.foo.com. A 1.2.3.4und y.bar.com. A 1.2.3.4.
Blrfl
Diese Antwort enthält keine Informationen zu Platzhaltern A, die auch zu mehreren Hostnamen auf derselben IP führen.
Izzy
Hey Sirch, was ist mit den Fullstops los?
JonoRR
6

Zusätzlich zur Änderung von CNAME, wie in anderen Antworten vorgeschlagen, müssen Sie auch die Logik auf Ihrem Hosting-Server handhaben. Ich benutze Apache und habe es wie folgt konfiguriert:

<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>

Ich bin sicher, dass andere http-Server-Software ähnliche Dinge haben.

Yandong Liu
quelle
2

Sie müssen sich darüber im Klaren sein, was Sie mit zwei Hostnamen meinen. Wenn Sie zwei physische Boxen mit derselben IP-Adresse meinen, lautet die Antwort in der Regel nein. Wenn ServerA und ServerB als Aktiv-Passiv-Cluster arbeiten, hat jeder Server zwei Adressen pro Stück. Eine wäre eine IP-Adresse, die diesem Server zugeordnet ist, und die zweite IP-Adresse wäre eine Adresse, die von den Servern gemeinsam genutzt wird, aber nur der aktive Server hört diese gemeinsame Adresse ab. Der passive Server beginnt erst mit dem Abhören der freigegebenen Adresse, wenn der aktive Server ausfällt.

Keith Wolters
quelle
2

Beachten Sie auch, dass Sie in IPv6 zwei oder mehr Hosts dieselbe IP zuweisen können und das Netzwerk den Lastenausgleich und das Failover für Sie übernimmt (wenn einer nicht erreichbar ist, versuchen Sie den anderen). Beide werden als ein logischer Endpunkt betrachtet und es ist keinerlei DNS beteiligt.

Diese Funktion wird als Anycast bezeichnet .

schrubben
quelle
1

Mehrere IP für eine Domain:

  • Ja, es ist möglich und sehr häufig: Wenn ein Server (mit IP A) ausfällt, können Sie eine Verbindung zur nächsten IP des DNS-Registers herstellen und auf einen anderen Server (mit IP B) zugreifen, um den Dienst zu erhalten.

Mehrere Domains für dieselbe IP:

Sie müssen die nächste Frage beantworten: Bieten alle Domains den gleichen Service an?

  • Wenn ja: Es ist auch eine sehr häufige Konfiguration: Viele Unternehmen kaufen viele Domains mit Top-Domains anderer Länder: xxx.com, xxx.net, xxx.org usw. Und alle verweisen auf denselben Dienst, das heißt , um die gleiche Liste von IP.
  • Wenn nein: Es ist möglich, aber nicht üblich und wird nicht empfohlen. Einige Hosting-Unternehmen, die nur HTTP-Dienste zulassen, verwenden NAT / Proxy, um IP zu sparen. Aber das bedeutet natürlich einen Proxy, der HTTP "versteht", um den Zieldienst zu identifizieren.
Adrian Maire
quelle
0

Viele Telekommunikationsserver (wie HSS und PCRF) verwenden SCTP-Transport und haben daher mehrere IP-Adressen. Diese Adressen werden für Multi-Homing verwendet (von SCTP unterstützt), um die Verbindung mit Redundanz und Failover zu versehen.

Nissar Ali
quelle