巧用Squid的ACL和访问列表实现高效访问控制

Squid是一个缓存Internet数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid发出一个申请,要Squid代替其进行下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议并且,Squid可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。

Squid可以工作在很多的操作系统中,如AIX、Digital、UNIX、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。

在使用过程中,合理使用访问控制是非常重要的工作。使用访问控制特性,可以控制其在访问时根据特定的时间间隔进行缓存、访问特定站点或一组站点等等。Squid访问控制有两个要素:ACL元素和访问列表。访问列表可以允许或拒绝某些用户对此服务的访问。下面分别介绍ACL元素以及访问列表的使用方法。

1.ACL元素

该元素定义的语法如下:

acl aclname acltype string1…
acl aclname acltype "file"…

当使用文件时,该文件的格式为每行包含一个条目。

其中,acltype可以是src、dst、srcdomain、dstdomain、url_regex、urlpath_regex、time、port、proto、method中的一任意一种。

src:指明源地址。可以用以下的方法指定:

acl aclname src ip-address/netmask ... 客户ip地址
acl aclname src addr1-addr2/netmask ... 地址范围

dst:指明目标地址,即客户请求的服务器的IP地址。语法为:

acl aclname dst ip-address/netmask ... 

srcdomain:指明客户所属的域,Squid将根据客户IP反向查询DNS。语法为:

acl aclname srcdomain foo.com ... 

dstdomain:指明请求服务器所属的域,由客户请求的URL决定。语法为:

acl aclname dstdomain foo.com ...。此处需要注意的是:如果用户使用服务器IP而非完整的域名时,Squid将进行反向的DNS解析来确定其完整域名,如果失败,就记录为“none”。

time:指明访问时间。语法如下:

acl aclname time [day-abbrevs] [h1:m1-h2:m2][hh:mm-hh:mm]

日期的缩写指代关系如下:

S:指代Sunday

M:指代Monday

T:指代Tuesday

W:指代Wednesday

H:指代Thursday

F:指代Friday

A:指代Saturday

另外,h1:m1必须小于h2:m2,表达式为[hh:mm-hh:mm]。

port:指定访问端口。可以指定多个端口,比如:

acl aclname port 80 70 21 ...
acl aclname port 0-1024 ... 指定一个端口范围

proto:指定使用协议。可以指定多个协议:

acl aclname proto HTTP FTP ...

method:指定请求方法。比如:

acl aclname method GET POST ...

url_regex:URL规则表达式匹配,语法为:

acl aclname url_regex[-i] pattern

urlpath_regex:URL-path规则表达式匹配,略去协议和主机名。其语法为:

acl aclname urlpath_regex[-i] pattern

在使用上述ACL元素的过程中,要注意如下几点:

acltype可以是任一个在ACL中定义的名称。

任何两个ACL元素不能用相同的名字。

每个ACL由列表值组成。当进行匹配检测的时候,多个值由逻辑或运算连接;换句话说,任一ACL元素的值被匹配,则这个ACL元素即被匹配。

并不是所有的ACL元素都能使用访问列表中的全部类型。

不同的ACL元素写在不同行中,Squid将这些元素组合在一个列表中。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/proxy/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索元素
, 用户
, squid
, 语法
, acl
一个
squid acl、squid acl规则、squid acl 详解、squid acl配置、squid 无法访问,以便于您获取更多的相关知识。

时间: 2024-10-28 23:18:12

巧用Squid的ACL和访问列表实现高效访问控制的相关文章

交换技术:反向访问列表在实际中的应用

反向访问列表 有5个VLAN,分别为 管理(63).办公(48).业务(49).财务(50).家庭(51). 要求: 管理可以访问其它,而其它不能访问管理,并且其它VLAN之间不能互相访问! 其它的应用不受影响,例如通过上连进行INTERNET的访问 方法一: 只在管理VLAN的接口上配置,其它VLAN接口不用配置. 在入方向放置reflectip access-list extended infilterpermit ip any any reflect cciepass!在出方向放置eval

路由器访问列表的应用

随着网络的不断发展,路由器在校园网中担当起了重要的角色.然而不少单位仅仅利用了它的一个基本功能--路由,实际上路由器还可以用来设置http://www.aliyun.com/zixun/aggregation/38609.html">访问控制策略.现以Cisco路由器为例,谈谈路由器访问列表的应用. 访问列表能干什么 随着网络的发展和用户要求的变化,从IOS12.0开始,Cisco路由器新增加了一种基于时间的访问列表.通过它,可以根据一天中的不同时间或者根据一星期中的不同日期(当然也可以二

包过滤控制访问列表

访问控制列表不但可以起到控制网络流量.流向的作用,而且在很大程度上起到保护网络设备.服务器的关键作用.作为外网进入企业内网的第一道关卡,路由器上的访问控制列表成为保护内网安全的有效手段.包过滤控制访问列表需求分析 如下:日志主机地址10.0.0. 808:30-18:00禁止报文送出串口禁止pc telnet到Router498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' height="153" alt

squid代理服务器 用户验证访问,tcp_outgoing_address 出口IP随机调用

配置如下  代码如下 复制代码 http_port 142.4.106.1:3128 http_port 142.4.106.xx:3128 http_port 142.4.106.xx:3128 auth_param basic program /user/lib/squid/libexec/ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid proxy-caching web

MySQL运维实战(二)之 巧用P_S解决账号host访问的荣耀王者之路

背景 一个MySQL实例中,如何验证一个账号上面是否还有访问? 一个MySQL实例中,如何验证某个业务ip是否还有访问? 倔强青铜级别 打开general log 优点: 全量 缺点: 性能差 秩序白银级别 打开slow log,设置long_query_time = 0 优点: 全量 缺点: 性能比较差 荣耀黄金级别 tshark | tcpdump | tcpcopy tshark -i any dst host ${ip} and dst port 3306 -l -d tcp.port=

AR系列路由器包过滤控制访问列表的配置方法_路由器、交换机

对内网地址192.168.1.0/25访问外网不作限制 对于内网地址192.168.1.128/25只允许收发邮件,不允许访问外网 # sysname RouterA # firewall enable                               /使能防火墙功能/ firewall default deny                         /配置防火墙缺省操作为deny/ # radius scheme system # domain system # acl 

ADSI+ASP添加IP到IIS禁止访问列表中_应用技巧

复制代码 代码如下: <%@ Language=VBScript %> <% Dim strIP strIP = request("IP") %> <FORM action=? method=post> 输入IP:<input type=text value="<%=strIP%>" style="BORDER: #AAAAAA 1px solid;" name="IP"&

ADSI+ASP添加IP到IIS禁止访问列表中

复制代码 代码如下: <%@ Language=VBScript %> <% Dim strIP strIP = request("IP") %> <FORM action=? method=post> 输入IP:<input type=text value="<%=strIP%>" style="BORDER: #AAAAAA 1px solid;" name="IP"&

搭建一个大型网站架构的实验环境(Squid缓存服务器篇)第1/2页_Linux

Squid是一个应用级代理,在保证客户端主机和服务器主机网络连通后,需要客户端软件做相应的设置后才能使用,比如给 Internet Explorer设置代理服务器地址.端口等.WEB缓存功能对于一个规模较大.访问繁忙的网络来说是有必要的,IBM网站上的一篇文章,详细分析介绍了WEB缓存给上网用户带来的好处:http://www-900.ibm.com/developer ... achinga/index.shtml 下面我们就介绍一下squid的有关内容. §§ 安装运行squid Redha