2 разных публичных адреса для высокой доступности

2 разных публичных адреса для высокой доступности

Я впервые задаю здесь вопрос, и мне интересно, возможно ли подключить два разных публичных IP-адреса интернет-провайдера к одной системе для обеспечения высокой доступности?

например, если наш интернет-провайдер 1 отключится, то второй интернет-провайдер будет доступен, точно так же, как у Google и YouTube разные публичные адреса, я просто не знаю, как это настроить.

в настоящее время мы используем Fortinet 300D.

решение1

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

В самом простом случае вы можете ввести 2 записи адреса A в вашем внешнем DNS, и пользователи будут отправляться на оба адреса (известно как циклическая балансировка нагрузки DNS). Это не особенно хорошо, так как это означает, что когда один из адресов недоступен, примерно половина пользовательских подключений будет прервана. Это также неэффективно, так как клиенты одного интернет-провайдера могут быть отправлены через другого интернет-провайдера или через интернет-провайдера с менее желательным маршрутом. Клиентское приложение и кэширование DNS могут задержать получение клиентами адреса рабочей системой, поэтому неисправные клиенты, как правило, выходят из строя на довольно длительные периоды без вмешательства для перезапуска приложений и очистки кэшей DNS. Если вы сохраняете DNS TTL коротким и не возражаете против кратковременных отключений, вы можете вручную отключить адрес, когда служба недоступна по этому адресу, однако пользовательский опыт все равно будет представлять собой кратковременный сбой.

Чтобы сделать это более умным, вам нужно, чтобы внешняя система проверяла доступность вашего сервиса и автоматически обновляла записи DNS, чтобы направлять пользователей к работающим системам. Дальнейшие улучшения заключаются в том, что система DNS напрямую подключается к внутреннему мониторингу, чтобы направлять пользователей к менее загруженной системе. Несмотря на автоматизацию, все еще есть пользовательский опыт, в котором некоторые пользователи все еще будут видеть сбой.

Ничто из этого не относится к вашему брандмауэру, который просто представляет два внешних интерфейса для двух провайдеров. Обратите внимание, что невозможно направить трафик для провайдера ISP1 через провайдера ISP2 или наоборот, поскольку интернет-маршрутизация просто отбросит этот трафик. Вы не можете «перекрестно подключить» двух провайдеров и ожидать, что что-то заработает.

Крупные предприятия, как правило, не зависят только от DNS round-robin. Вместо этого они перейдут в свою собственную сеть (или партнерские сети) и будут иметь маршрут от интернет-провайдеров к своей сети в системе, известной как пиринг. Корпоративная сеть может иметь много одноранговых узлов, состоящих из нескольких интернет-провайдеров, распределенных в региональном или глобальном масштабе. Обмениваясь информацией о маршрутизации, клиенты направляются от своего интернет-провайдера через интернет-провайдеров, которые в данный момент работают, в корпоративную сеть. Это все еще может приводить к кратковременным отключениям, пока сети недоступны, однако эти системы обеспечивают отличную избыточность, чтобы корпоративная сеть была доступна даже во время отключений связи.

Возможны и другие, более сложные, замысловатые решения, но они выходят за рамки ответа StackExchange. В качестве примеров:

  • Разместите балансировщик нагрузки в высоконадежной системе (Azure, AWS и т. д.) и настройте его на пересылку трафика на контролируемый адрес, который находится в рабочем состоянии.
  • Используйте VPN-пир на основе (иногда называемый туннельным брокером), чтобы получить внешний IP-адрес, независимый от ваших интернет-провайдеров, и разрешите VPN-туннелю проходить через обоих интернет-провайдеров.
  • переместить всю систему в место с высокой доступностью

решение2

Купите виртуальную машину у провайдера, который соответствует вашим потребностям (возможно, уровня Cloudflare?), установите на ней виртуальный брандмауэр и создайте несколько VPN с локального сайта/сайтов, которые будут объединены и использоваться для виртуальной маршрутизации (подумайте о MPTCP или подобном).

Интернет-подключение локальной системы будет избыточным, с любым количеством ссылок (разные провайдеры, несколько технологий) и VPN к виртуальному брандмауэру для каждой из этих ссылок.

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

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

Связанный контент