PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Squid ACL



f.gruber
01.10.08, 17:58
Hallo,
ich bin gerade dabei, mich in die Verwendung von ACLs in der squid.conf einzuarbeiten, was mir nicht gerade leichtfällt. Es soll mit SQUID der Zugriff auf bestimmte URLs gesperrt werden:


acl blocked url_regex -i "/etc/squid/blocked_url.txt"
http_access deny blocked

Das funktioniert bereits.

Eigentlich möchte ich aber, dass die in "/etc/squid/blocked_url.txt" aufgelisteten Adressen nur in den zwei Computerräumen geblockt sind. Die Computerräume erhalten bei uns über DHCP folgende Adressen:
Raum 1: 10.80.12.101 - 10.80.12.125
Raum 2: 10.80.12.201 - 10.80.12.225

Wie kann ich die ACL nur auf diese IP Adressen anwenden, die übrigen sollen zunächst einmal freien Zugriff auf das Internet haben?

Danke für Hilfe.

drcux
01.10.08, 18:41
Squid ist da eigentlich recht einfach strukturiert, was einmal erlaubt wurde, wird nicht wieder verboten.... ;)
Erstelle also eine ACL mit den IP-Adressen/Bereichen, die alles dürfen und erlaube es, bevor du die Blocklist verbietest:


acl dieduerfenalles src 10.10.10.0/24
acl blocked url_regex -i "/etc/squid/blocked_url.txt"
http_access allow dieduerfenalles
http_access deny blocked

Musst du natürlich noch auf deine IP-Bereiche anpassen, ungetestet, aber so sollte es gehen.

f.gruber
02.10.08, 07:19
acl dieduerfenalles src 10.10.10.0/24
acl blocked url_regex -i "/etc/squid/blocked_url.txt"
http_access allow dieduerfenalles
http_access deny blocked

Musst du natürlich noch auf deine IP-Bereiche anpassen, ungetestet, aber so sollte es gehen.

... und genau das kann ich nämlich nicht. Tut mir leid, ich weiß nicht, wie man das macht, zwei voneinander getrennte IP Bereiche hier zu definieren:
10.80.12.101 - 10.80.12.125 und 10.80.12.201 - 10.80.12.225.

Bitte um Verständnis, bin auf diesem Gebiet ein Anfänger.

Gruß
Ferdinand

Olleg
02.10.08, 08:40
Evtl. so:

acl raum1 src 10.80.12.101-10.80.12.125
acl raum2 src 10.80.12.201-10.80.12.225
acl blocked url_regex -i "/etc/squid/blocked_url.txt"
http_access allow raum1 !blocked
http_access allow raum2 !blocked
http_access deny raum1
http_access deny raum2

Kann sein, dass du in die ersten beiden Zeilen noch die Subnetmask einfügen musst.

drcux
02.10.08, 10:54
... und genau das kann ich nämlich nicht. Tut mir leid, ich weiß nicht, wie man das macht, zwei voneinander getrennte IP Bereiche hier zu definieren:
10.80.12.101 - 10.80.12.125 und 10.80.12.201 - 10.80.12.225.

Bitte um Verständnis, bin auf diesem Gebiet ein Anfänger.


Steht in der squid.conf:

acl aclname src addr1-addr2/netmask ... (range of addresses)

acl duerfenalles src 10.80.12.101-10.80.12.125/24 10.80.12.201-10.80.12.225/24

f.gruber
02.10.08, 12:46
Danke für eure Hilfe. Ich habe es jetzt folgendermassen hingekriegt:


acl raum1 src 10.80.12.101-10.80.12.125
acl raum2 src 10.80.12.201-10.80.12.225
acl blocked url_regex -i "/etc/squid/blocked_url.txt"
http_access deny raum1 blocked
http_access deny raum2 blocked
http_access allow blocked
Übrigens geht es nur ohne Netmaske, habe ich festgestellt.
Folgende Zeile führt zu einer Fehlermeldung des SQUID beim Reload:

acl raum1 src 10.80.12.101/24-10.80.12.125/24

Olleg
02.10.08, 16:10
Richtig wäre
acl raum1 src 10.80.12.101-10.80.12.125/24

f.gruber
02.10.08, 16:41
Aha, danke! :rolleyes: