Ответы:
Назначение более одного IP-адреса одному имени хоста также возможно:
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
Когда вы запрашиваете DNS-сервер, rr.example.com
вы получаете обратно список IP-адресов. Затем вы можете подключиться к одному из них. Если при первой попытке подключения активно отказались, попробуйте следующую.
Большинство браузеров будут следовать этому потоку, пока конечные точки активно отказываются от TCP-соединения. В случае тайм-аута конечной точки ресурс будет считаться недоступным, хотя не все IP-адреса были опробованы
Поскольку большинство приложений (включая браузеры) часто интересуются только 1 конечной точкой IP одновременно и просто выбирают первый доступный ответ, вы рискуете переместить нагрузку между целевыми серверами, чтобы первый сервер получил весь трафик, в то время как другие могли бы простаивать. ,
Чтобы обойти это, большинство DNS-серверов предлагают так называемую конфигурацию Round Robin, заставляя сервер чередовать порядок, в котором возвращаются одинаково совпадающие записи. До того, как балансировщики нагрузки стали обычным явлением, это был эффективный способ балансировки нагрузки и некоторой реализации отказоустойчивости в сетевых системах.
Да, несколько имен хостов могут использовать один и тот же IP-адрес. Рекомендуется использовать запись CNAME для указания на запись A
bar.example.com. CNAME foo.example.com.
foo.example.com. A 192.0.2.23
Обратите внимание на все полные остановки.
Наличие одного имени хоста для представления нескольких IP-адресов немного сложнее. Если мы говорим о записях MX, это решение уже существует в DNS с использованием номеров приоритетов, если вы хотите, чтобы оно представляло несколько записей A, лучше использовать балансировщик нагрузки, например HAProxy.
A
записи, содержащие один и тот же IP, могут появляться в разных зонах, например, x.foo.com. A 1.2.3.4
и y.bar.com. A 1.2.3.4
.
A
записях, которые также приводят к нескольким именам хостов на одном и том же IP.
В дополнение к изменению CNAME, как и предлагалось в других ответах, вам также придется обрабатывать логику на вашем хостинг-сервере. Я использую Apache и настроил его так:
<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>
Я уверен, что у других программ для http-серверов есть подобные вещи.
Вы должны четко понимать, что вы подразумеваете под двумя именами хостов. Если вы имеете в виду два физических блока с одинаковым IP-адресом, ответ, как правило, отрицательный. Случай, когда вы могли бы работать, если serverA и serverB работают как активно-пассивный кластер, тогда у каждого сервера будет по два адреса на один кусок. Одним из них будет IP-адрес, выделенный этому серверу, а вторым IP-адресом будет тот, который был разделен между серверами, но только активный сервер будет прослушивать этот общий адрес. Пассивный сервер начинает прослушивать общий адрес только тогда, когда активный сервер отключается.
Также стоит отметить, что в IPv6 вы можете назначить один и тот же IP-адрес двум или более хостам, и сеть выполнит балансировку нагрузки и восстановление после сбоя (если один из них недоступен, попробуйте другой). Оба рассматриваются как одна логическая конечная точка, и DNS вообще не задействован.
Эта функция известна как Anycast .
Несколько IP для одного домена:
Несколько доменов для одного IP:
Вам необходимо ответить на следующий вопрос: все ли домены предоставляют одинаковые услуги?
Многие серверы в телекоммуникации (например, HSS и PCRF) используют транспорт SCTP, поэтому эти серверы имеют несколько IP-адресов. Эти адреса используются для множественной адресации (которую поддерживает SCTP), обеспечивая соединение с резервированием и аварийным переключением.
serverfault.com
иsuperuser.com
и посмотреть на IP-адрес, который возвращается для обоих.