Вы здесь

DNS и сервер с двумя каналами в инет

Всем доброго времени суток.

Есть сервер, на котором работают некоторые сервисы - mail,https,xmpp,pptpd... Всем этим активно пользуются клиенты изнутри и снаружи, обращаясь по FQDN. Понадобилось поднять на нем резервный канал к другому провайдеру на случай пропадания инета. Это сделано, снаружи на обоих ip все сервисы видны, маршрутизация настроена.
После этого появился вопрос - а как правильно в этом случае прописать DNS?
Одно имя на несколько ip адресов или отдельное имя на каждый ip адрес? Что лучше?
Не будет ли проблем с ssl сертификатами в случае с разными именами?
Какие потенциальные проблемы могут появиться?

1. В случае с разными именами для каждого IP будет проблема с SSL (если он не мультидоменный)
2. В случае одного имени на несколько IP будет проблема с доступом (если один канал упал, все те кто ломятся на тот IP будут отдыхать)

Без своей AS имхо нормально не сделать.

Спасибо, это все понятно. В случае с разными именами, мне не очень нравится, что придется перенастраивать клиентский софт для почты и jabber. И еще такой момент - я могу прописать дополнительный MX для почты и в случае недоступности основного, почта будет приходить на этот MX. А как в этом случае будет работать jabber? Достаточно ли будет дополнительной SRV записи?

Если сделать сертификат для FDQN вида *.example.com, то проблем не будет

Не грусти, товарищ! Всё хорошо, beautiful good!

Для клиентов изнутри можно использовать собственный адрес, который однозначно виден внутренними абонентами. Соответственно, имена строить на этот адрес. В этом случае абсолютно все равно, через какой канал в данный момент вы ходите.

Что касается клиентов снаружи... Здесь чуть сложнее. Насколько я понял, у вас нет собственного блока адресов, автономной системы и прочего причитающегося? Если есть, то все просто как угол дома. А вот если нет, то я бы сделал так, как сделали вы сами: по примеру резервного канала в интернет завел бы резервный домен. Т.е. - основной домен service.firma.ru, резервный - reserv.firma.ru. Такое практикуется многими банками.

Есть третий вариант - обеспечить хождение к вам на один реальный IP адрес через любой канал. Но это гипотетически, ибо здесь должно быть участие и добрая воля обоих провайдеров, а также наличие у них технической возможности организовать такой кульбит. Но зато в этом случае с FQDN все предельно просто - домен будет постоянно на одном адресе, а из какого канала к нему будут приходить - это уже неважно.

alexpro написал:
Для клиентов изнутри можно использовать собственный адрес, который однозначно виден внутренними абонентами. Соответственно, имена строить на этот адрес. В этом случае абсолютно все равно, через какой канал в данный момент вы ходите.

Так и сделано.

alexpro написал:
Насколько я понял, у вас нет собственного блока адресов, автономной системы и прочего причитающегося?

Блока адресов нет. Есть два канала с разными ip, через них маскарадятся внутренние подсетки. DNS поддерживает другая организация, там пропишут все, что нужно.

alexpro написал:
...по примеру резервного канала в интернет завел бы резервный домен. Т.е. - основной домен service.firma.ru, резервный - reserv.firma.ru.

Я еще так не сделал, но уже склоняюсь к этому :) Что останавливает - почта и jabber. С smtp проблем не будет, пропишу MX на другой домен. С ssl тоже вроде все нормально. С imap непонятно, два имени в качестве сервера в почтовый клиент не впишешь. Почитал про SRV записи, вроде они позволяют настроить редирект соединений на другой домен для jabber.

alexpro написал:
Есть третий вариант ... здесь должно быть участие и добрая воля обоих провайдеров

Увы, это не реально.

Свой DNS-сервер со своей зоной, в вышестоящей зоне делаете ns1 и ns2 свои основной и резервный ip, динамическое обновление нужного вам имени/имён в зоне с TTL имени, скажем, 60 секунд... IMHO проблем с SSL не будет, с почтой-джаббером не будет (везде _одно_ имя, разрешающееся в _один_ IP, просто при повторном разрешении имени IP может прийти другой ;) - некоторые проблемы может вызвать только момент переключения с основного на резервный и наоборот, до 60 секунд (пока кэш DNS-серверов по дороге не устареет) клиенты будут ломиться на неработающий адрес... Но вы же не думаете, что падение канала отследится мгновенно и мгновенно же канал переключится на резервный? Всё равно будет некоторая пауза, про разрыв установленных соединений можно и не упоминать...
В общем, мне кажется, что это лучшее из возможных решений.
DNS поднять несложно. Настроить динамическое обновление зоны и написать скрипт, который будет ее обновлять (и одновременно переключать каналы связи) - тоже. У меня уйма закладок в эту тему сделана... информации в Сети много.
Единственное но - обратная зона, в которой должно быть для обоих IP прописано одно и то же имя (это для корректной работы SMTP-сервера на отправку писем - многие проверяют обратную зону, я вот тоже, если helo, client name и reverse name не согласуются - отправитель сразу теряет доверие). Но это легко и просто решается двумя звонками в техподдержку двух провайдеров ;)