Как смаршутизировать трафик от nginx? Имеется nginx в режиме tcp-proxy:stream { server { listen 1.2.3.4:600; proxy_pass 1.2.3.4:600; proxy_bind $remote_addr transparent; } } И получается что nginx подделывает входящий адрес для конечного хоста. Нужно сделать так, чтобы nginx принимал запросы на интерфейсе eth0 с айпи 1.2.3.4, обрабатывал, и после отправлял на этот же интерфейс на хост 1.2.3.4, но уже в сеть и с сохранением реального айпи клиента. На стороне интерфейса маршрутизатор, который сам дальше обрабатывает трафик на основе VRF. Трафик, который пришел на роутер - уходит на сервер - там должен обработаться nginx - вернуться на роутер уже в другой VRF.

22 Янв 2022 в 19:53
420 +1
0
Ответы
1

Для сохранения реального IP-адреса клиента вам необходимо использовать модуль ngx_stream_realip. Для этого добавьте следующую конфигурацию в секцию stream вашего nginx:

real_ip_header X-Real-IP;
real_ip_recursive on;
set_real_ip_from 0.0.0.0/0;

Это позволит передавать реальный IP-адрес клиента в заголовке X-Real-IP и использовать его в дальнейшей обработке запроса.

Также убедитесь, что на вашем маршрутизаторе настроены правильные маршруты для возврата ответов от сервера nginx в другую VRF. Вам может потребоваться настроить NAT или маршрутную политику на маршрутизаторе для обработки этих ответов.

После внесения всех этих изменений, nginx будет принимать запросы на интерфейсе eth0 с IP-адресом 1.2.3.4, обрабатывать их и отправлять обратно на этот же интерфейс c сохранением реального IP-адреса клиента.

16 Апр 2024 в 19:42
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир