%20%D1%81%20vhost%20%D0%BD%D0%B5%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B8%D1%80%D1%83%D0%B5%D1%82%20%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20IP-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B0%20%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%BE%D0%B2.png)
РЕШЕНО
Чтобы разрешить NAT Zyxel USG 100 пересылать нетронутые пакеты на мой веб-сервер, я отредактировал политику маршрутизации Zyxel.
Zyxel -> Configuration -> Network ->Routing -> Policy Route
Я просто изменил опцию «Преобразование адресов» с «исходящий-интерфейс» на «нет».
Теперь Apache регистрирует реальные внешние IP-адреса клиентов.
РЕШЕНО
Доброе утро, друзья.
сегодня я столкнулся с проблемой правильной регистрации клиентских запросов на моем корпоративном веб-сервере Apache2
Схема сети:
//////////// _ WAN1 11.11.11.12
| INTERNET / _/ ===> CISCO Router =======> first public ip ==> to corporate LAN
//////////// ||
||
||
|| zyxel eth0 ip: 11.11.11.11
|| label: WAN2
\/
ZYXEL ROUTER ___ eth0 _________________________________________________
| ZYXEL |
| Gateway
| || |
| || |
| |\/| FIREWALL (accept request from eth0/WAN2 on port |
| || 443/80 and forward them to LAN1) |
| || |
| |\/| NAT (forward request on 11.11.11.11:80 to |
| || web server on 192.168.1.10:80) |
|____||__________________________________________________|
*zyxel eth1 ip: 192.168.1.1, label: lan1*
||
\|____________________
| \ mysqlserver 192.168.1.20
________| ++
webserver 192.168.1.10 /
++
Когда кто-то (из Интернета или моей частной сети) запрашивает страницу на моем публичном ip 11.11.11.11 на порту 80, мой веб-сервер отвечает на это правильно. Но когда я хочу проверить access.log моего веб-сервера, я вижу только мой маршрутизатор Zyxel ip 192.168.1.1.
Я предполагаю, что возникла проблема с NAT. Похоже, Zyxel подменяет свой IP-адрес в качестве SRC IP-пакетов, поступающих на мой веб-сервер.
Что мне нужно сделать, чтобы получить правильно зарегистрированные веб-запросы с публичными клиентскими IP-адресами? Маршрутизатор — Zyxel USG 100
это мои конфигурации журнала Apache2 (apache2.log)
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
это моя конфигурация журнала vhost
CustomLog /var/log/apache2/xyz.com/access.log combined
Спасибо
решение1
%{X-ClientSide}i может быть тем, что вы хотите добавить в свой формат журнала, чтобы получить удаленный адрес клиента.