1 сайт - 2 ip

12
tooseebee
На сайте с 20.01.2010
Offline
91
1329

необходимо для определенного хоста www.example.com прописать несколько ip (A запись)

что бы в случае отсутствия соединения к первому ip, обращение было на другой.

как это лучше всего реализовать?

Himiko
На сайте с 28.08.2008
Offline
560
#1

Такая задача просто не решается.

В случае прописывания 2х записей они будут выдаваться в случайном порядке вне зависимости от доступности сайта. Кроме того, ip-адрес будет запоминаться в кэше и посетитель некоторое время будет попадать только на тот ip, который ему выдал dns случайно.

Я думаю, что если вам рассказать, как такое реализуется, то вы от затеи откажетесь.

Самое простое:

Используйте DNS с низким TTL и меняйте в нём ip-адрес в ручную в случае падения одного из серверов.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
Evas EvaSystems
На сайте с 31.05.2012
Offline
116
#2

Такое возможно реализовать средствами nginx. Смотрите в сторону upstream.

Реализация подобного на уровне А записей не даст нужного эффекта, а именно при недоступности одного из серверов

его адрес продолжит раздаваться народу и они будут пытаться "достучатся" до него. В случае же использования

upstream осуществляется проверка - если один адрес недоступен, он больше не раздается.

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
tooseebee
На сайте с 20.01.2010
Offline
91
#3
в случае падения одного из серверов

сервер один, есть 2 аплинка от разных провайдеров(разные ip+разные сети). при падении первого, необходимо сохранить работу сайта на втором ip

Смотрите в сторону upstream.

http://nginx.org/ru/docs/http/ngx_http_upstream_module.html - это то что имеется ввиду?

Himiko
На сайте с 28.08.2008
Offline
560
#4
Evas:
Такое возможно реализовать средствами nginx.

Где он будет находиться?

Падает сервер с nginx и "плакала" абузоустойчивость.

---------- Добавлено 18.01.2013 в 20:14 ----------

tooseebee:
сервер один, есть 2 аплинка от разных провайдеров(разные ip+разные сети). при падении первого, необходимо сохранить работу сайта на втором ip

Тогда отказоустойчивость на уровне "пропал интернет"? (абузоустойчивости ПО и железа сервера не будет)

Пришёл в голову "топорный" вариант:

На каждом ip свой dns-сервер. Каждый DNS выдаёт свой ip-адрес клиенту. Тогда в случае работы обоих dns, посетитель будет поподать на случайный ip-адрес, а в случае отказа одного из dns-серверов (интернет пропал, соответственно он на этом ip не ответит), он получит ответ от dns-сервера на работающем ip и пойдёт на него.

TTL только установите минимальный.

M
На сайте с 16.09.2009
Offline
278
#5
Evas:
Такое возможно реализовать средствами nginx.

Не городи чепухи, школьник.

nginx - это вообще прикладной уровень OSI. А ТС надо сильно "поглубже" - сетевой уровень (маршрутизация).

tooseebee:
http://nginx.org/ru/docs/http/ngx_http_upstream_module.html - это то что имеется ввиду?

Это действительно "имелось в виду", но вам не поможет.

У вас есть AS? У вас есть блок PI-адресов? Если вы не знаете что это за вещи - рекоммендую для начала действительно обратить внимание на совет Himiko. Вас чем-то не устраивает предложенное решение?

Himiko:
абузоустойчивость

Ась? :)

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
tooseebee
На сайте с 20.01.2010
Offline
91
#6

Спасибо.

Дело в том что сеть офисная, сервер в офисе, маршрутизатор (не софтовый) с 2-я WAN портами - failover. Настраивать собственные ДНС сервера не вариант вообще :)

Как нибудь можно реализовать "топорный вариант" Himiko арендуя ДНС сервера у поставщиков данной услуги? Допустим на двух ДНС прописать разные А-записи - по одной на каждый сервер?

Himiko
На сайте с 28.08.2008
Offline
560
#7
Как нибудь можно реализовать "топорный вариант" Himiko арендуя ДНС сервера у поставщиков данной услуги? Допустим на двух ДНС прописать разные А-записи - по одной на каждый сервер?

И дальше?)

При таком раскладе нужно будет уронить один из dns, чтобы схема сработала)

В чем проблема dns сделать на сервере? Не совсем понимаю.

На стороннем dns можно сделать в ручную. Т.е. будете ходить и A-запись менять в dns, если потребуется.

Стоп...

Т.е. у вас исходящие соединения будут с того ip-адреса, который доступен в данный момент? Маршрутизатор это сам умеет?

Тогда можно использовать тот же dyndns + клиент http://dyn.com/support/clients/, который будет раз в минуту (к примеру) обновлять ip-адрес в dns.

Ваш роутер даже может это уметь. (в прошивке бывает утилита для обновления ip в dyndns)

L
На сайте с 07.12.2007
Offline
351
#8
tooseebee:
необходимо для определенного хоста www.example.com прописать несколько ip (A запись)
что бы в случае отсутствия соединения к первому ip, обращение было на другой.
как это лучше всего реализовать?

Failover DNS, арендовать или сделать своими руками на базе API Яндекса.

M
На сайте с 16.09.2009
Offline
278
#9
tooseebee:
Настраивать собственные ДНС сервера не вариант вообще :)

Отчего? Ничего сложного. В крайнем случае - обратитесь к кому-то за настройкой и сопровождением.

Можно обойтись и обычными провайдерами ДНС, но могут возникнуть сложности:

1) сложнее автоматизировать решение

2) не всегда у таких провайдеров низкие значения TTL

3) ничто не мешает им однажды увеличить его в разы, наплював на ваши надежды...

4) наверно еще что-то забыл

tooseebee:
Как нибудь можно реализовать "топорный вариант" Himiko арендуя ДНС сервера у поставщиков данной услуги?

"Топорный вариант" ничем особо не лучше первоначальной версии. Вот здесь:

/ru/forum/685836

обсуждалось подобное решение. Основная проблема тут: "мне вы выдали раньше ip1 для вашего site.ru, а теперь ip1 стал недоступен". Увы, "топорная версия" (как и любое DNS-решение) - ее не решит.

Himiko
На сайте с 28.08.2008
Offline
560
#10

Т.е. у вас исходящие соединения будут с того ip-адреса, который доступен в данный момент? Маршрутизатор сам умеет переключать?

Тогда можно использовать тот же dyndns + клиент http://dyn.com/support/clients/, который будет раз в минуту (к примеру) обновлять ip-адрес в dns. (если исходящий ip изменится, то это пропишется в DNS)

Даже в прошивках маршрутизаторов бывает возможность обновления ip в dyndns.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий