
У меня есть один веб-сервер и два WAN-подключения (1 кабельное, 1 DSL). DNS работает вне сайта и указывает на IP-адрес, назначенный одним из интернет-провайдеров. Как мне сделать так, чтобы второе подключение взяло на себя управление, когда основное соединение выходит из строя?
Я видел, что возможно иметь две записи A, каждая из которых указывает на другой IP, но это имеет несколько проблем. Каково реальное решение этой проблемы? Я полагаю, что это очень распространенная проблема.
Дополнительная информация:
Сервер на самом деле является сервером электронных медицинских записей и должен находиться на месте в офисе. Их веб-сайт и DNS размещены на большом управляемом хостинговом объекте.
Я думаю, что план в офисе — это что-то вроде Peplink Balance, о котором упоминалось ранее, илиCradlepoint MBR-1200.
Peplink с переключением DNS звучит как решение, но я не уверен, насколько мне будет удобно иметь DNS в их офисе вместо центра обработки данных. Я обязательно рассмотрю это подробнее.
После разговора с нашим хостингом они порекомендовали нам рассмотреть сторонний сервис вроде Dynamic DNS. Я считаю, что это в основном служба мониторинга, которая переключается, когда один IP-адрес выходит из строя.
Скорость на самом деле не является проблемой; их больше волнует высокая доступность.
решение1
Я полагаю, что это очень распространенная проблема.
На самом деле нет. Большинство даже небольших сайтов работают с хостерами, которые этим занимаются. У хостера есть несколько аплинков, собственное адресное пространство и он объявляет свою маршрутизацию через BGP пирам.
Это также намного эффективнее с точки зрения пропускной способности, поскольку скорость восходящего соединения типичного конечного пользователя ужасна.
Я бы сказал, что большинство людей, которые «достаточно непрофессиональны», чтобы попытаться запустить веб-сайт, используя кабельное/DSL-соединение... также не имеют двух подключений.
решение2
Я думаю, что наиболее «реальный» способ сделать это — получить блок IP-адресов, а затем самостоятельно объявить их в Интернете обоим провайдерам с помощью BGP. Это будет более «реальным» соединением, чем кабельное и DSL. Для этих уровней соединений, я думаю, использование отказоустойчивости DNS, вероятно, будет на уровне вашей настройки.
Обычно следующим этапом будет переход к размещению и получение стабильного соединения от интернет-провайдера, предлагаемого в месте размещения или в самом центре обработки данных. Они могут предоставить вам два дропа, которые, вероятно, используют HSRP, и они могут напрямую перейти в коммутатор или коммутаторы. Это не будет идеальным полным резервированием, но большой шаг вперед.
решение3
Обновление DNS здесь — это основа. Круговой DNS (множественные записи A) сам по себе не выполняет проверку работоспособности. Какой тип маршрутизатора multi-wan вы используете? Я знаюБаланс PepLinkseries включают DNS-сервер на маршрутизаторе, который будет изменять записи, когда его ссылки выходят из строя. Если ваш маршрутизатор не может сделать это сам, вам, вероятно, придется написать скрипт или найти службу, которая извне проверяет/опрашивает оба соединения и периодически обновляет DNS-сервер.
Кроме того, для тех, кто предлагает coloc — хотя это идеальный ответ для производственного сервера, есть вероятность, что это промежуточный/разрабатываемый сервер, который может монтироваться или действовать как офисный файловый сервер, где скорость доступа из локальной сети важнее скорости и стабильности восходящего канала.
решение4
Наличие двух записей А делаетнетобеспечить отказоустойчивость — по сути, половина ваших пользователей будет пытаться подключиться к одному IP-адресу, другая половина — к другому, независимо от того, доступны эти IP-адреса или нет.
Для такого отказа можно использовать динамический DNS. Подпишитесь на любую динамическую службу DNS и настройте динамический DNS-клиент на вашем сервере. Он будет периодически проверять ваш (доступный) внешний IP-адрес и при каждом его изменении обновлять запись A.
Если ваш DNS-провайдер не поддерживает динамический DNS, вы можете либо перенести свой DNS к другому провайдеру, либо подписаться на динамический DNS с доменом третьего уровня и создать запись CNAME на вашем основном домене, которая будет указывать на динамическое имя хоста. (Последний вариант будет работать для www., но не для зоны apex).