• 2005-08-22

    关于squid禁止某些站点的访问的控制 (acl语句)

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

    利用squid的acl控制语句来控制某些站点的访问,前几天在网络改造时一直没有成功。在squid.conf中acl字段如下:

    acl web src 192.168.20.0/24
    http_access allow web
    acl badsite dstdomain 17lele.com
    acl badurl url_regex -i sex
    http_access deny badsite
    http_access deny badurl
    acl all src 0.0.0.0/0.0.0.0
    http_access deny all

    今天刚看了CNFUG十六期Horus的一篇文章--在FreeBSD上安装Squid,才再次去试着改一下,最后明白:上次我是装禁止站点的语句加在了

    acl web src 192.168.20.0/24
    http_access allow web

    的后面,所以就省略了我新加的这两句。所以我将badsite和badurl字段的两句放到前面,重启,成功禁止了17lele.com和带sex字段的网址。如下:

    acl badsite dstdomain 17lele.com
    acl badurl url_regex -i sex
    http_access deny badsite
    http_access deny badurl
    acl web src 192.168.20.0/24
    http_access allow web
    acl all src 0.0.0.0/0.0.0.0
    http_access deny all

    附上acl语句详细说明:

    ACL,Access Control List,访问控制列表.它的语法是: (在/usr/local/squid/etc/squid.conf里添加)
    acl 表名 表类型 [-i] 表的值
    http_access [allow/deny] 表名下面分条解释:
    表名:可以自定义
    表类型:表类型有
    src 源地址:客户机的IP地址
    dst 目的地址:服务器的IP地址
    srcdomain 源域:客户机所属的域
    dstdomain 目的域:服务器所属的域
    url_regex URL正则表达式(字符串部分)
    urlpath_regex URL正则表达式中的路径
    time [星期] [时间段]
    maxconn 客户端的最大连接数
    -i 这个参数使Squid不区分大小写
    表的值:随表的类型不同而不同
    注意:time中的星期要用如下字符:
    S (Sunday,星期日) M(Monday,星期一) T(Tuesday,星期二) W(Wednesday,星期三)
    H(Thursday,星期四) F(Friday,星期五) A(Saturday,星期六)
    时间段的表示方式是: XX:00-YY:00 如: 20:00-22:00
    http_access 选项允许你设置一个表是允许(allow)还是拒绝(deny)
    下面举几个例子: 防3721的ACL.在squid.conf中加入:
    acl badurls dstdomain -i www.3721.com www.3721.net download.3721.com cnsmin.3721.com
    http_access deny badurls
    acl badkeywords url_regex -i 3721.com 3721.net
    http_access deny badkeywords
    解释:
    badurls 和 badkeywords 是你自定义的表名.
    dstdomain 是服务器的域名(目的域) 而 url_regex 则是URL正则表达式(字符串部分)包含的内容.
    http_access 选项的 deny 则是把表badurls和表badkeywords的访问拒绝.
    禁止下载Flash:
    acl badfiles urlpath_regex -i .swf$
    http_access deny badfiles
    大家在今后的配置中,慢慢体会ACL的用法吧! 达到目的喽:
    错误
    您所请求的网址(URL)无法获取
    --------------------------------------------------------------------------------
    当尝试读取以下网址(URL)时:
    http://www.3721.com/ 发生了下列的错误:
    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. 当前的存取控制设定禁止您的请求被接受,如果您觉得这是错误的,请与您网路服务的提供者联系。 本缓存服务器管理员:guanjianfeng@jscpu.com
     

    附上acl语句详细说明:

    ACL,Access Control List,访问控制列表.它的语法是: (在/usr/local/squid/etc/squid.conf里添加)
    acl 表名 表类型 [-i] 表的值
    http_access [allow/deny] 表名下面分条解释:
    表名:可以自定义
    表类型:表类型有
    src 源地址:客户机的IP地址
    dst 目的地址:服务器的IP地址
    srcdomain 源域:客户机所属的域
    dstdomain 目的域:服务器所属的域
    url_regex URL正则表达式(字符串部分)
    urlpath_regex URL正则表达式中的路径
    time [星期] [时间段]
    maxconn 客户端的最大连接数
    -i 这个参数使Squid不区分大小写
    表的值:随表的类型不同而不同
    注意:time中的星期要用如下字符:
    S (Sunday,星期日) M(Monday,星期一) T(Tuesday,星期二) W(Wednesday,星期三)
    H(Thursday,星期四) F(Friday,星期五) A(Saturday,星期六)
    时间段的表示方式是: XX:00-YY:00 如: 20:00-22:00
    http_access 选项允许你设置一个表是允许(allow)还是拒绝(deny)
    下面举几个例子: 防3721的ACL.在squid.conf中加入:
    acl badurls dstdomain -i www.3721.com www.3721.net download.3721.com cnsmin.3721.com
    http_access deny badurls
    acl badkeywords url_regex -i 3721.com 3721.net
    http_access deny badkeywords
    解释:
    badurls 和 badkeywords 是你自定义的表名.
    dstdomain 是服务器的域名(目的域) 而 url_regex 则是URL正则表达式(字符串部分)包含的内容.
    http_access 选项的 deny 则是把表badurls和表badkeywords的访问拒绝.
    禁止下载Flash:
    acl badfiles urlpath_regex -i .swf$
    http_access deny badfiles
    大家在今后的配置中,慢慢体会ACL的用法吧! 达到目的喽:
    错误
    您所请求的网址(URL)无法获取
    --------------------------------------------------------------------------------
    当尝试读取以下网址(URL)时:
    http://www.3721.com/ 发生了下列的错误:
    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. 当前的存取控制设定禁止您的请求被接受,如果您觉得这是错误的,请与您网路服务的提供者联系。 本缓存服务器管理员:guanjianfeng@jscpu.com
     


    收藏到:Del.icio.us