Здравствуйте!
Вздумалось мне (
ну, не совсем мне вздумалось... ) настроить контентную фильтрацию. Тема не новая, но для меня проблематичная.
NetPolice на сервере не помогает, уж слишком он дырявый. Решил обрезать всё кроме белого списка. Поискал и наткнулся на такое
руководство.
Вот конфиг squid'а, исправленный по статье:
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/24
# IP-адреса компьютеров, на которых необходим доступ к дополнительным сайтам, по одному в строке
acl adm src "/etc/squid/adm.ip"
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 Safe_ports port 901 # SWAT
acl CONNECT method CONNECT
# Белый список сайтов
acl white url_regex "/etc/squid/white.list"
# Дополнительный белый список для административных компьютеров
acl white_adm url_regex "/etc/squid/white_adm.list"
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports !Safe_ports
# Разрешаем локальной сети ходить по белому списку
http_access allow localnet white
# Разрешаем административным компьютерам ходить по белому списку
http_access allow adm white
# Добавляем дополнительный белый список для административных компьютеров
http_access allow adm white_adm
http_access allow localhost
http_access allow localhost
http_access deny all
http_access deny !Safe_ports
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
cache_mem 64 MB
cache_dir ufs /var/cache/squid 1024 32 128
access_log /var/log/squid/access.log
#cache_store_log /var/log/squid/store.log
coredump_dir /var/cache/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
shutdown_lifetime 3 seconds
visible_hostname school-proxy
После конфигурирования предлагается создать кэш проксика:
[root@comp ~]# mkdir /var/cache/squid
[root@comp ~]# chown -R squid:squid /var/cache/squid
И, наконец, проблема:[root@comp ~]# /usr/sbin/squid -z
2011/04/28 11:49:57| strtokFile: /etc/squid/adm.ip not found
2011/04/28 11:50:00| Warning: empty ACL: acl adm src "/etc/squid/adm.ip"
2011/04/28 11:50:02| aclParseAccessLine: squid.conf line 31: http_access deny !Safe_ports
2011/04/28 11:50:02| aclParseAccessLine: expecting 'allow' or 'deny', got 'deny !Safe_ports'.
2011/04/28 11:50:02| aclParseAccessLine: ACL name 'CONNECT !SSL_ports !Safe_ports' not found.
FATAL: Bungled squid.conf line 32: http_access deny CONNECT !SSL_ports !Safe_ports
Squid Cache (Version 3.0.STABLE19): Terminated abnormally.
CPU Usage: 1.368 seconds = 0.920 user + 0.448 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
Это с конфигом squid'а проблема? Почему он не может найти
CONNECT !SSL_ports !Safe_ports
Если не трудно, объясните.
P.s.: простите за тысячную тему на эту тему.