Как смаршутизировать трафик от 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.
Для сохранения реального IP-адреса клиента вам необходимо использовать модуль ngx_stream_realip. Для этого добавьте следующую конфигурацию в секцию stream вашего nginx:
Это позволит передавать реальный IP-адрес клиента в заголовке X-Real-IP и использовать его в дальнейшей обработке запроса.
Также убедитесь, что на вашем маршрутизаторе настроены правильные маршруты для возврата ответов от сервера nginx в другую VRF. Вам может потребоваться настроить NAT или маршрутную политику на маршрутизаторе для обработки этих ответов.
После внесения всех этих изменений, nginx будет принимать запросы на интерфейсе eth0 с IP-адресом 1.2.3.4, обрабатывать их и отправлять обратно на этот же интерфейс c сохранением реального IP-адреса клиента.
Для сохранения реального 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-адреса клиента.