%20mit%20vhost%20protokolliert%20keine%20echten%20Client-IP-Adressen.png)
GELÖST
Damit das NAT des Zyxel USG 100 unveränderte Pakete an meinen Webserver weiterleiten kann, habe ich die Richtlinienroute des Zyxel bearbeitet.
Zyxel -> Configuration -> Network ->Routing -> Policy Route
Ich bearbeite einfach die Option „Adressübersetzung“ von „Ausgehende Schnittstelle“ auf „Keine“.
Jetzt protokolliert Apache echte IP-Adressen externer Clients
GELÖST
Guten Morgen Freunde
heute habe ich ein Problem damit, Client-Anfragen korrekt auf meinem Apache2-Webserver zu protokollieren
Netzwerkschema:
//////////// _ 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 /
++
Wenn jemand (aus dem Internet oder meinem privaten LAN) eine Seite an meine öffentliche IP 11.11.11.11 auf Port 80 anfordert, antwortet mein Webserver korrekt. Aber wenn ich das Zugriffsprotokoll meines Webservers überprüfen möchte, sehe ich nur die protokollierte IP meines Zyxel-Routers 192.168.1.1.
Ich nehme an, es liegt ein NAT-Problem vor. Es scheint, dass Zyxel seine IP-Adresse als SRC der IP-Pakete ersetzt, die an meinen Webserver gehen.
Was muss ich tun, um ordnungsgemäß protokollierte Webanforderungen mit öffentlichen Client-IP-Adressen zu erhalten? Router ist der Zyxel USG 100
dies sind meine Apache2-Protokollkonfigurationen (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
dies ist meine Vhost-Log-Konfiguration
CustomLog /var/log/apache2/xyz.com/access.log combined
Danke
Antwort1
%{X-ClientSide}i ist möglicherweise das, was Sie zu Ihrem Protokollformat hinzufügen möchten, um die Remote-Adresse des Clients zu erhalten.