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

Как сохранить исходный IP?

Диаграмма сети

Привет всем,

Может ли кто-нибудь помочь мне с каким-либо решением по этому поводу? вот настройка:

Публичный сервер (Linux) подключен к pfSense через IPSEC VPN и StrongSwan (Linux).

Настроить:

Общедоступный сервер имеет IPtables, порт которого перенаправляет HTTP (S) запрос на веб-сервер.

-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 4.4.4.4:80
-A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 4.4.4.4:443

Предполагаемый клиент 1.1.1.1 обращается к общедоступному серверу через HTTP, который перенаправляет запрос на WEBSERVER 4.4.4.4. На основе журналов apache я получаю IP-адрес общедоступного сервера 2.2.2.2, моя цель - вместо этого получить IP-адрес клиента 1.1.1.1?

Какие-либо предложения? Я также пробовал использовать Haproxy, но получил тот же результат. Есть ли способ получить IP-адрес клиента через IPsec VPN?

Большое спасибо!

Настройка NAT или VPN не должна влиять на регистрацию IP-адреса клиента.

Общедоступный сервер (обратный прокси-сервер Apache или Haproxy в вашем вопросе) будет передавать исходный IP-адрес клиента с использованием заголовка X-Forwarded-For.
Видеть: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#x-headers как пример для Apache

Если вы используете Apache, вам также может потребоваться установить / включить mod_remoteip
http://httpd.apache.org/docs/current/mod/mod_remoteip.html

и в вашем формате журнала замените заголовок Remote hostname%h с клиентским IP-адресом запроса %a.
См. Mod_log_config.html # форматы.