Есть FreBSD 9.1 с установленными SQUID 2.7 и SAMS 1.0.5, редиректор встроенный в SQUID, авторизация пользователей проходит по IP. Всё работает так, как надо: пользователи ходят в интернет, трафик считается, те, кто превысил лимит блокируются и у них остается доступ к сайтам прописанным в локальные домены + трафик с локальных доменов не считается. Не устраивает только одно - в интернет могут ходить и те, чьей учетки в SAMS нет т.е. SQUID пускает в инет всю локалку.
squid.conf
Код: Выделить всё
# TAG: acl
acl _sams_51a5a7c917049 src "/usr/local/etc/squid/51a5a7c917049.sams"
acl _sams_51a5a7c917049_time time MTWHFAS 00:00-23:59
acl _sams_porno url_regex "/usr/local/etc/squid/porno.sams"
acl _sams_51a723b2ab5d1 url_regex "/usr/local/etc/squid/51a723b2ab5d1.sams"
acl _sams_disabled_ip src "/usr/local/etc/squid/disabled_ip.sams"
acl _sams_local_ip dst "/usr/local/etc/squid/local_ip.sams"
acl _sams_local_url dstdomain "/usr/local/etc/squid/local_url.sams"
#Recommended minimum configuration:
acl all src all
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
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
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
# TAG: http_access
http_access allow _sams_51a5a7c917049 _sams_51a723b2ab5d1 !_sams_porno _sams_51a5a7c917049_time
http_access deny _sams_disabled_ip !_sams_local_ip !_sams_local_url
#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
# And finally deny all other access to this proxy
http_access deny all