PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Squid - ich will nur eine IP erlauben



anselmoso
22.02.08, 08:41
Moin zusammen,

ich möchte auf meinem VServer (Debian 3.1, aktuelle Updates installiert) einen Squid aufsetzen, der nur eine einzige IP "allowed". Ich bin also her gegangen und hab folgendes gemacht:

- cd /etc/squid
- mv squid.conf squid.conf.orig
- vim squid.conf

In dieser neuen squid.conf steht nur(!) das hier:

acl all src 0.0.0.0/0.0.0.0
acl mypc src xxx.x.x.x
http_access allow mypc
http_access deny all



Leider funkt das aber nicht. Wenn ich dann nämlich den Proxy in meinem Webbrowser einrichte und eine Webseite aufrufen will, kommt die Meldung:



Access Denied.

Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.

Generated Fri, 22 Feb 2008 07:39:01 GMT by <myserver> (squid/2.5.STABLE9)


Das lustige ist: Selbst wenn ich "http_access allow all" eintrage, kommt diese Meldung. Der Squid lässt also aus irgendeinem Grund niemand auf ihn drauf....


Könnt ihr mir weiterhelfen?

zyrusthc
22.02.08, 08:47
Hast Du squid auch restartet ?

Greeez Oli

anselmoso
22.02.08, 08:54
Natürlich....:)
Nach jeder Änderung n Restart.

zerix
22.02.08, 08:55
Hallo,

also ich hab schon ewig nichts mehr mit squid gemacht, deshalb bin ich mir nicht so ganz sicher, aber kann es nicht daran liegen, dass die Zeilen vielleicht in der falschen Reihenfolge stehen?


http_access allow mypc
http_access deny all


Versuch es doch mal so


http_access deny all
http_access allow mypc


MFG

zEriX

anselmoso
22.02.08, 09:03
Bringt leider auch keine Änderung. Und auch wenn ich "allow all" schreibe nicht...

bla!zilla
22.02.08, 09:12
Poste mal bitte den kompletten ACL Teil deiner squid.conf.

anselmoso
22.02.08, 09:16
Das hier ist meine komplette Squid.Conf:



acl all src 0.0.0.0/0.0.0.0
acl mypc src xxx.x.x.x
http_access allow mypc
http_access deny all



Die Original-Squid.conf habe ich nach "squid.conf.orig" umbenannt.


Wenn ich die squid.conf so ändere:



acl all src 0.0.0.0/0.0.0.0
http_access allow all


Dann gehts.


Wenn ich sie so ändere:


[quote]
acl all src 0.0.0.0/0.0.0.0
acl mypc src xxx.x.x.x
http_access allow mypc


Dann funktionierts nicht. Ich gehe also davon aus, dass es an der Schreibweise meiner IP liegt. Meine IP hat genau die Form wie mit den x-Buchstaben geschrieben, also 3 Stellen, dann 1, dann 1 und wieder 1 Stelle.

bla!zilla
22.02.08, 09:16
?!

Dann kopiere die Originaldatei wieder zurück und passe diese an.

anselmoso
22.02.08, 09:24
Das hab ich zuvor gemacht, aber hat genau so wenig funktioniert. Ich denke wie gesagt, dass es an der Schreibweise meiner IP liegt.

Die Form xxx.x.x.x/23 funktioniert leider auch nicht, ebenso wenig xxx.x.x.x/255.255.255.0

bla!zilla
22.02.08, 10:25
/32 entspreicht der Netzmaske 255.255.255.255. Versuch es mal damit. Ansonsten dreh das Logging vom Squid mal hoch und guck welche ACLs greifen und welche nicht. Ich denke es liegt an der Reihenfolge.

anselmoso
22.02.08, 10:58
Also ich hab inzwischen folgendes gemacht:

- in der squid.conf die Einstellung "debug_options ALL" hinzugefügt
- Squid neu gestartet und einige Seiten aufzurufen versucht
- sämtliche squid-logs unter /var/log/squid durchsucht und auch /var/log/messages, /var/log/syslog

----> Ergebnis: Keine nennenswerten Einträge, nur "Squid fährt hoch", "Squid fährt runter" und "TCP_DENIED" Einträge von den Seiten, die ich aufrufen wollte.


Dann habe ich squid noch extra im Debug Modus gestartet mit "/usr/sbin/squid -NCd1" - aber auch das bringt keine nennenswerten Log-Einträge auf der Konsole oder in den obigen Log-Files...


Mein Rechner, mit dem ich auf den Squid(-Server) zugreife, hat übrigens die Netzmaske 255.255.255.0.

bla!zilla
22.02.08, 11:00
Das ist egal, welche Netzmaske der hat.



debug_options ALL,1 33,2


in die squid.conf eintragen und dann in der cache.log nachgucken.

anselmoso
22.02.08, 11:05
ok, da steht jetzt:


The request CONNECT <webseitenadresse> is DENIED, because it matched 'workpc'


Und aktuell steht in meiner squid.conf:


acl all src 0.0.0.0/0.0.0.0
acl workpc src xxx.x.x.x
http_access allow workpc

debug_options ALL, 1 33,2


Also er lehnt meine Zugriffe ab, weil der Zugriff von dem PC kommt, den ich erlaube...?

bla!zilla
22.02.08, 12:22
Bitte mal die ACL so aufsstellen:



acl all src 0.0.0.0/0.0.0.0
acl workpc src xxx.x.x.x/32
http_access allow workpc
http_access deny all

debug_options ALL, 1 33,2

anselmoso
22.02.08, 12:24
Jo, hab ich jetzt gemacht. Ergebnis:


The request GET http://www.heise.de/ is DENIED, because it matched 'all'


Blöd is nur, dass Squid nicht detailliert ausgibt, welche IP denn nun genau zugreift.

bla!zilla
22.02.08, 12:39
Das siehst du in der access.log. Fakt ist: Squid hat deine Anfrage abgelehnt, weil deine ACL workpc nicht gegriffen hat, wohl aber all.

anselmoso
22.02.08, 12:46
ich glaube, ich probier bald mal, das pferd von hinten aufzuzäunen:

im squid alles erlauben und mit iptables die IP filtern, die auf den Squid-Port zugreifen darf....

bla!zilla
22.02.08, 12:48
Falscher Weg. Du hast einfach ein Problem mit deiner Konfig. Leider kann ich dir mangels Infos auch nicht mehr sagen.

anselmoso
22.02.08, 12:50
Jetzt gehts. Puh.
Die "/255.255.255.255" Schreibweise und zusätzlicher Eintrag "http_reply_access allow workpc" führten zum Erfolg.
Danke für eure / deine Zeit und Mühe:)

Fertige Konfig:



acl all src 0.0.0.0/0.0.0.0
acl work src xxx.x.x.x/255.255.255.255
http_access allow work
http_reply_access allow work
http_deny all

bla!zilla
22.02.08, 13:00
mmhh... Squid kann immer noch keine CIDR Notation in der squid.conf?? Na ja, Hauptsache es funktioniert.

anselmoso
22.02.08, 13:06
mmhh... Squid kann immer noch keine CIDR Notation in der squid.conf?? Na ja, Hauptsache es funktioniert.

Is wie gesagt Debian 3.1, also nicht grade die aktuellste Squid-Version, nämlich 2.5.9

eule
22.02.08, 13:12
Squid kann immer noch keine CIDR Notation in der squid.conf??
Natuerlich kann Squid mit sowas umgehen.
Die Probleme beruhen eher auf einem Durcheinander von Adressbereich/Netzmaske. Da der OP leider ein Geheimnis daraus macht, faellt es natuerlich schwer, den Fehler zu finden.