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

Балансировка нагрузки + проблема NAT на передаче BNT GBE 2-7

У меня проблемы с настройкой аппаратного балансировщика нагрузки с функциями NAT.

У меня такая архитектура:

Интернет ===> VIP (общедоступный) LB (частный IP) ====> серверы с частным адресом

Когда соединение инициализируется извне (из Интернета), LB правильно пересылает SYN-пакет на один из частных серверов. Но когда эти серверы хотят ответить SYN / ACK, возникает проблема.

исходный SYN-пакет имел заголовок IP: VIP => Private_server_Address

Но частные серверы не могут связаться с VIP со своей стороны (это нормально, поскольку он установлен), а затем предоставить правильный ответ.

Есть ли у вас какое-нибудь решение, чтобы правильно пересылать пакеты в правильное место назначения?

Примечание. Балансировщик нагрузки, который является gw по умолчанию для серверов, также имеет правило NAT для «маскарадинга» (на самом деле больше SNAT, чем реальный маскарадинг).

С Уважением,

Клеман.

Есть много способов настроить балансировщик нагрузки, и вы не даете понять, как вы хотите, чтобы ваш балансировщик вел себя - или, скорее, вы даете противоречивые сценарии.

Основываясь на архитектуре, которую вы обрисовали, ваш LB должен «завершать» TCP-соединение - тогда он откроет новое TCP-соединение с вашим частным сервером и отправит только данные. Это означает, что когда соединение достигает вашего частного сервера, оно должно не видеть внешний VIP-адрес как адрес источника соединения, но внутренний частный IP-адрес балансировщика нагрузки. Это противоречит тому, что вы описали.

IIRC, в этом режиме (некоторые поставщики называют его «режимом прокси», отличным от «режима DSR») NAT не требуется, поэтому маскирование можно отключить.

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