Назад | Перейти на главную страницу

Маршрутизация подсети

Приложения, размещенные на серверах, расположенных в одной подсети, не могут ссылаться на доменные имена (VIP), размещенные на балансировщике нагрузки для этой подсети.

Предположение: сервер A и сервер B размещены в одной подсети.

Приложение, размещенное на сервере A, подключается к VIP (который ссылается на приложение, размещенное на сервере B).

Инициирование соединения будет происходить с сервера A через VIP на сервер B; однако ответ возвращается напрямую с сервера B на сервер A.

Сервер A не примет ответ, поскольку он отправил исходный запрос только VIP.

Вопрос: Это нормальное явление при настройке сети? Предлагаемое решение заключалось в создании специального IP-адреса внутренней подсети для сервера A для вызова приложения на сервере B: мне не нравится это решение, поскольку оно может привести к увеличению количества внутренних IP-адресов, управление которыми может быть затруднительным.

Другой вариант - создать подсети ....

Есть мысли или предложения?

Вы делаете DSR (прямой возврат сервера). Чтобы он работал правильно, балансировщик нагрузки должен знать об этом, чтобы он изменял только MAC-адрес назначения, но оставил оба IP-адреса в пакете нетронутыми. Кроме того, VIP должен быть настроен на интерфейсе обратной связи всех серверов за балансировщиком нагрузки, чтобы принимались входящие пакеты с VIP в поле назначения. Независимо от срока службы там также необходимо настроить использование VIP, если он не привязан к 0.0.0.0. Как только вы разместите эти части, все будет работать, например:

  1. A отправляет пакет с собственным IP и MAC в источнике, VIP и MAC LB в адресате.

  2. LB получает пакет, перезаписывает dst MAC со своего собственного на MAC одного из сбалансированных серверов и отправляет его B.

  3. B получает пакет, видит действительный IP-адрес dst (так как это VIP, и у него есть VIP на кольцевой проверке), передает его службе для обработки.

  4. Служба отправляет ответ с VIP и MAC сервера в качестве источника, а IP и MAC A в качестве адресата.

  5. Пакет поступает в A, который распознает его как действительный ответ на исходный запрос.

Кстати, ваши теги совершенно неправильные, поскольку маршрутизация не используется. В основном это уловки уровня 2 с некоторыми изменениями конфигурации на уровне 3.

Ссылка: LBWiki