• 2006-07-01

    FreeBSD6.0下通过squid的acl语句对上网用户作进一步设置

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://funpower.blogbus.com/logs/2733348.html

    去年末写过<FreeBSD6.0Release+Squid+Socks5服务器架设笔记>, 但对某些用户的上网还没作进一步的限制. 今天完成这项工作.

    以下为通过squid的acl语句对上网用户进行限制:

    1. 先列出表格:

    --------星期一星期二星期三星期四星期五星期六星期天
    特殊用户
    00:00-24:0000:00-24:0000:00-24:0000:00-24:0000:00-24:0000:00-24:00
    00:00-24:00
     用户18:30-23:008:30-23:0012:00-23:008:30-23:008:30-23:008:00-21:308:00-21:30
     用户214:30-23:0014:30-23:0012:00-23:0014:30-23:0014:30-23:008:00-21:308:00-21:30
     用户316:00-23:0016:00-23:0012:00-23:0016:00-23:0016:00-23:008:00-21:308:00-21:30
     用户416:30-23:0016:30-23:0012:00-23:0016:30-23:0016:30-23:008:00-21:308:00-21:30


    2. 编辑/usr/local/squid/etc/squid.conf文件, 从1475行开始, 加入如下内容:

    acl tieshuyonghu src 192.168.121.210/32 192.168.121.211/32 192.168.121.212/32
    acl yonghu1 src 192.168.120.1-192.168.120.52/255.255.255.255
    acl yonghu2 src 192.168.120.53-192.168.120.104/255.255.255.255
    acl yonghu3 src 192.168.120.105-192.168.120.157/255.255.255.255
    acl yonghu4 src 192.168.120.158-192.168.120.208/255.255.255.255
    acl 8:30-23:00 time MTHF 8:30-23:00
    acl 14:30-23:00 time MTHF 14:30-23:00
    acl 16:00-23:00 time MTHF 16:00-23:00
    acl shan time W 12:00-23:00
    acl zm time AS 8:00-21:30
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8
    acl SSL_ports port 443 563
    acl Safe_ports port 80          # http
    acl Safe_ports port 21          # ftp
    acl Safe_ports port 443 563     # https, snews
    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 tieshuyonghu
    http_access allow yonghu1 8:30-23:00
    http_access allow yonghu1 shan
    http_access allow yonghu2 14:30-23:00
    http_access allow yonghu2 shan
    http_access allow yonghu3 16:00-23:00
    http_access allow yonghu3 shan
    http_access allow yonghu3 zm
    http_access allow yonghu4 16:30-23:00
    http_access allow yonghu4 shan
    http_access allow yonghu4 zm
    http_access deny all

    这里利用了squid的acl中的src和time两个标签, time对星期的表示为 S-Sunday(星期天)  M-Monday(星期一) T-Tuesday(星期二)  W-Wednesday(星期三) H-Thursday(星期四)  F-Friday(星期五)  A-Saturday(星期六), 对acl更多的信息可看这里.

    收藏到:Del.icio.us