Odpowiedzi:
Możliwe jest również przypisanie więcej niż jednego adresu IP do jednej nazwy hosta:
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
Po wysłaniu zapytania do serwera DNS rr.example.com
otrzymasz z powrotem listę adresów IP. Następnie możesz połączyć się z jednym z nich. Jeśli pierwsza próba połączenia zostanie aktywnie odrzucona, po prostu spróbuj następnej.
Większość przeglądarek będzie podążać za tym przepływem, o ile punkty końcowe aktywnie odmawiają połączenia TCP. W przypadku przekroczenia limitu czasu punktu końcowego zasób będzie traktowany jako nieosiągalny, mimo że nie wszystkie IP zostały wypróbowane
Ponieważ większość aplikacji (łącznie z przeglądarkami) często interesuje się tylko 1 punktem końcowym IP na raz i po prostu wybiera pierwszą dostępną odpowiedź, ryzykujesz przesunięcie obciążenia między serwerami docelowymi, aby pierwszy serwer uzyskał cały ruch, podczas gdy inne mogą być bezczynne .
Aby to obejść, większość serwerów DNS oferuje tak zwaną konfigurację Round Robin, dzięki czemu serwer zmienia kolejność, w której zwracane są równorzędne rekordy. Zanim usługi równoważenia obciążenia stały się powszechne, był to skuteczny sposób na zrównoważenie obciążenia i nieco wdrożenie odporności na uszkodzenia w systemach sieciowych.
Tak, wiele nazw hostów może używać tego samego adresu IP, najlepszą praktyką jest użycie rekordu CNAME w celu wskazania rekordu A
bar.example.com. CNAME foo.example.com.
foo.example.com. A 192.0.2.23
Zwróć uwagę na wszystkie kropki.
Posiadanie jednej nazwy hosta do reprezentowania wielu adresów IP jest nieco bardziej skomplikowane. Jeśli mówimy o rekordach MX, to rozwiązanie już istnieje w DNS przy użyciu numerów priorytetowych, jeśli chcesz, aby reprezentowało wiele rekordów A, lepiej użyj modułu równoważenia obciążenia, na przykład HAProxy.
A
zapisy zawierające ten sam adres IP może pojawić się w różnych strefach, na przykład, x.foo.com. A 1.2.3.4
i y.bar.com. A 1.2.3.4
.
A
rekordach wieloznacznych , które również prowadzą do wielu nazw hostów w tym samym adresie IP.
Oprócz zmiany CNAME, jak sugerują inne odpowiedzi, musisz także obsługiwać logikę na serwerze hostingowym. Używam Apache i skonfigurowałem go jako:
<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>
Jestem pewien, że inne oprogramowanie serwera HTTP ma podobne rzeczy.
Musisz jasno określić, co rozumiesz przez dwie nazwy hostów. Jeśli masz na myśli dwa fizyczne pola z tym samym adresem IP, odpowiedź zazwyczaj nie. W przypadku, gdy serwer A i serwer B pracują jako klaster aktywno-pasywny, każdy serwer ma dwa adresy na jeden element. Jednym z nich byłby adres IP dedykowany temu serwerowi, a drugim byłby adres współdzielony między serwerami, ale tylko aktywny serwer będzie nasłuchiwał tego wspólnego adresu. Serwer pasywny zaczyna nasłuchiwać pod wspólnym adresem dopiero, gdy aktywny serwer ulegnie awarii.
Warto również zauważyć, że w IPv6 możesz przypisać ten sam adres IP do dwóch lub więcej hostów, a sieć wykona dla ciebie równoważenie obciążenia i przełączenie awaryjne (jeśli jeden nie jest osiągalny, spróbuj drugiego). Oba są traktowane jako jeden logiczny punkt końcowy i DNS nie jest w żaden sposób zaangażowany.
Ta funkcja nosi nazwę Anycast .
Wiele adresów IP dla tej samej domeny:
Wiele domen dla tego samego adresu IP:
Musisz odpowiedzieć na następne pytanie: Czy wszystkie domeny zapewniają tę samą usługę?
Wiele serwerów w telekomunikacji (takich jak HSS i PCRF) korzysta z transportu SCTP, dlatego serwery te mają wiele adresów IP. Adresy te są używane do obsługi wielu baz danych (które obsługuje SCTP), zapewniając połączenie z redundancją i przełączaniem awaryjnym.
serverfault.com
isuperuser.com
spójrz na adres IP, który jest zwracany dla obu.