%20com%20vhost%20n%C3%A3o%20registra%20endere%C3%A7os%20IP%20de%20clientes%20reais.png)
RESOLVIDO
Para permitir que o NAT do Zyxel USG 100 encaminhe pacotes intocados para o meu servidor web, editei a rota da política do Zyxel.
Zyxel -> Configuration -> Network ->Routing -> Policy Route
Acabei de editar a opção "Tradução de endereço" de "interface de saída" para "nenhuma"
Agora o apache está registrando endereços IP de clientes externos verdadeiros
RESOLVIDO
Bom dia companheiros
hoje estou enfrentando um problema para registrar corretamente as solicitações dos clientes em meu servidor web corporativo Apache2
Esquema de rede:
//////////// _ 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 /
++
Quando alguém (da Internet ou da minha LAN privada) solicita uma página para meu ip público 11.11.11.11 na porta 80, meu servidor web responde corretamente. Mas quando quero verificar o access.log do meu servidor web, consigo ver apenas o ip 192.168.1.1 do meu roteador Zyxel registrado.
Suponho que haja um problema de NAT, parece que o Zyxel substitui seu endereço IP como SRC de pacotes IP que chegam ao meu servidor web.
O que preciso fazer para obter solicitações da Web registradas corretamente com endereços IP de clientes públicos? O roteador é o Zyxel USG 100
estas são minhas configurações de log do 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
esta é a minha configuração de log vhost
CustomLog /var/log/apache2/xyz.com/access.log combined
Obrigado
Responder1
%{X-ClientSide}i pode ser o que você deseja adicionar ao seu formato de log para obter o endereço remoto do cliente.