Решено
Чтобы разрешить 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 своего веб-сервера, я вижу только мой IP-адрес маршрутизатора Zyxel 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
Спасибо
% {X-ClientSide} i может быть тем, что вы хотите добавить в свой формат журнала, чтобы получить удаленный адрес клиента.