部署Squid3.0的心得
部署的是squid-3.0.PRE4.tar.gz,不加iptables,不使用任何外加插件
下面不是部署全过程,只是一点心得
一、configure的时候要注意参数
- 如果要使用HTTPS,要加上–enable-ssl(我加了才发现用不到……)
- 如果要在定义ACL的时候使用arp选项(即使用MAC地址来判定用户)需要加上–enable-arp-acl
- 如果要允许解析的URL中出现下划线,要加上–enable-underscore,因为默认情况下Squid会认为带下划线的URL是非法的,并拒绝访问该地址。这个我没试过
二、ACL配置
如果不加载第三方工具,ACL配置是Squid中唯一的访问控制方法。这个东西的功能其实跟CCProxy的身份控制差不多(但是没有用户名密码认证功能),但是配置起来要更复杂也更强大。
-
配置格式:acl aclname acltype string1
-
常用的定义类型:
- src ip-address/netmask
src addr1-addr2/netmask
用来源的IP地址定义,一个ip#即mask方式就是网络,cidr方式就是单个ip - acl aclname dst ip-address/netmask
目标地址 - acl aclname arp mac-address
后悔编译的时候没加–enable-arp-acl参数,这个功能很有用的 - acl aclname dstdomain .foo.com
类似于CCProxy的访问限制,例如可以限制只能访问.cn的站点、不能访问.xxx的站点等等 - acl aclname dstdom_regex [-i] xxx
用正则,不过……谁这么无聊呢…… - acl aclname http_status 200 301 500- 400-403
根据HTTP Response返回值,这个很有效,比如规定302Moved就不访问 - acl aclname port
端口 - acl aclname proto
协议 - acl aclname method
方式,例如只能GET不能CONNECT -
acl aclname browser [-i] regexp
这个也太强了……限制浏览器用户代理标志类型
还可以规定mime类型、响应时间等等等等……绝对强大
Continue reading