• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Squid protokolliert nichts in access.log

Hallo,

ich habe ein Problem mit einem transparenten Proxy, der zwar zu Anfang mal fehlerfrei funktioniert hat, aber seit unbekannter Zeit eben nicht mehr und damit ist leider nicht mehr nachvollziehbar
wer wann was geändert hat.

Das Problem ist, dass die access.log nicht beschrieben wird, also die Länge 0 hat. Tatsächlich funktioniert das Surfen auch, wenn der Squid beendet ist.
Mit Wireshark am Ausgangsport des Proxy sehe ich die ganzen http-Pakete.
Woran kann es liegen, dass der Squid nichts protokolliert? Es scheint, als wenn sämtlicher Datenverkehr an Squid vorbei geht.


Zur Konfiguration:

Das Ganze bildet ein Wlan-Gastnetz, die Benutzer authentifizieren sich über einen Zyxel-Proxy (10.253.0.6, 255.255.255.252, mit Gateway 10.253.0.5, 255.255.255.252).
Ab da geht das Ganze dann direkt zum transparenten Proxy.
Der Ausgang des Zyxel geht sofort in die 1. Netzwerkkarte des Proxy-Servers (10.253.0.5, 255.255.255.252).
Die 2. Netzwerkkarte (10.253.0.2, 255.255.255.252, mit Gateway 10.253.0.1, 255.255.255.252) geht direkt in die Firewall.

Die Konfiguration des Squids sieht so aus:

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl guestnet src 10.253.0.4/30
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_access allow guestnet
http_access deny all
http_port 3128 transparent (Habe es auch schon mit 'http_port 10.253.0.5:3128 transparent' versucht)
visible_hostname zyxelproxy
access_log /var/log/squid3/access.log squid


Die Routen stehen wie folgt:
10.253.0.0 * 255.255.255.252 U 0 0 0 eth0
10.253.0.4 * 255.255.255.252 U 0 0 0 eth1
default 10.253.0.1 0.0.0.0 UG 100 0 0 eth0

In iptables ist nichts eingetragen.

root@zyxelproxy:/var/log/squid3# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination


ifconfig vom Proxy:
eth0 Link encap:Ethernet HWaddr 00:04:23:1b:86:7f
inet addr:10.253.0.2 Bcast:10.253.0.3 Mask:255.255.255.252
eth1 Link encap:Ethernet HWaddr 00:01:03:e1:f1:71
inet addr:10.253.0.5 Bcast:10.253.0.7 Mask:255.255.255.252
 
OP
K

kschroeder

Newbie
Hallo,

ich glaube, ich bin der Lösung etwas näher gekommen.
Da der Proxy ja als transparenter Proxy fungieren soll und ich 2 Netzwerkkarten habe, muss der http-Traffic erstmal auf den Squid Port 3128 umgeleitet werden.
Hierfür habe ich 2 Einträge (NAT-Regeln) mit iptables hinzugefügt:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 10.253.0.2:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Jetzt wird auch endlich was in der access.log geschrieben, aber es sind alles TCP_MISS Pakete.
Offenbar stimmt hier noch etwas mit dem Routing nicht?
 

bolder

Member
TCP_MISS bedeutet: Das angeforderte Objekt befindet sich nicht im Cache. Ist also nicht unbedingt ein negativer Eintrag.
 
OP
K

kschroeder

Newbie
Vielen Dank bolder, ich hab mich schon krumm gesucht, woran es liegen könnte. (Hatte nach 4 Tagen schon fast nicht mehr mit einer Antwort gerechnet)
Dann scheint ja jetzt vorerst mal alles zu funktionieren.
 
Oben