Я пытаюсь настроить Nginx в качестве последней резервной копии для F5-BIG-IP, и я не уверен, можно ли настроить его так, чтобы он вел себя аналогично F5 с точки зрения трафика обработка?
F5 в настоящее время развернут в качестве шлюза в L3 следующим образом (все адреса здесь начинаются с 192.168.0.
):
edge router .13/30 --- .14/30 F5 .10/30 --- .9/30 core router --- other networks
граничный маршрутизатор выполняет DNAT для различных адресов (которые раньше были отдельными серверами некоторое время назад), например 192.168.2.4
или 192.168.1.3
. Oни' re из разных сетей. F5 работает как шлюз и распределяет нагрузку по трафику с такими адресами назначения (без выполнения SNAT)
Итак, мой вопрос - как я могу развернуть Nginx таким образом? Я знаю, что могу использовать iptables и переадресацию ip на уровне Linux, чтобы вести себя как шлюз и обеспечивать функциональность маршрутизации, но я не знаю, как разрешить Nginx загружать соединения с балансировкой с адресом назначения 192.168.2.4
, который не является IP самого Linux-сервера (это фактический адрес одного из участников пула) и без выполнения SNAT.
Я думал об использовании iptables
с REDIRECT
, но я не уверен, что Nginx поддерживает такое развертывание.
Если я вас правильно понял, вы хотите выполнить балансировку нагрузки на самом nginx. Сделать это можно было следующим образом: Балансировка нагрузки NGINX
Я нашел следующую статью на веб-сайте nginx:
https://www.nginx.com/blog/ip-transparency-direct-server-return-nginx-plus-transparent-proxy /
И, похоже, он даже поддерживается в версии Nginx с открытым исходным кодом. Этот метод, похоже, не использует -j REDIRECT
, но использует альтернативные таблицы маршрутизации и некоторый механизм маркировки пакетов для выхода. Я еще не понял, как и почему это работает именно с точки зрения iptables и потока пакетов Linux.
Это выглядит довольно сложно.