本人只介绍Squid代理权限的设置,若是安装的话,可以参考
http://fengwan.blog.51cto.com/508652/1212613
Squid ACL权限控制请参考:http://os.51cto.com/art/201009/223455.htm
在很多公司里面上网都是控制的相当严格,那么我们通过下面几个实例来抛砖引玉:
说明:由于我的squid是使用yum的方式安装的,如果你是手动编译的话,请更改相应的设置
1.某几个IP上网不受限制(如192.168.1.10和192.168.1.20这个IP上网不受限制)
编辑vim /etc/squid/squid.conf
在前面加入以下字段:
acl master src 192.168.1.10/32 192.168.1.20/32
http_access allow master
2.某几个IP只能上某个网站(如192.168.1.12只能访问www.baidu.com)
acl web_ctrl src 192.168..1.12/32
acl web_ctrl_url url_regex www.baidu.com //若是增加网站的话只需在后面添加网址即可
acl allow web_ctrl web_ctrl_url
3.某几个IP限制时间上网(如192.168.1.15上班时间只能上公司网站,下班后可以上其他网站)
acl time_client src 192.168.1.15/32 //定义客户机地址
acl time_time time MTWHF 08:00-12:00 13:00-17:00 //在星期一到星期五的8点到12点 13点到17点
acl time_server url_regex lookwest.taobao.com //设定要访问的网站
http_access allow time_client time_time time_server //允许192.168.1.15上班时间上www.lushare.com
http_access deny time_time //拒绝上班时间的访问,防止上其他网站
http_access allow time_client //允许192.168.1.15上网
4.其他电脑需要使用用户名和密码才能上网,主要是用于临时使用网络
a.首先需要生成一个密码文件
[root@WebSer ~]# htpasswd -c /etc/squid/user.pass lookwest
New password:
Re-type new password:
Adding password for user lookwest
上面就已经增加了一个lookwest帐户
htpasswd的用法:
1.增加用户
htpasswd /etc/squid/user.pass lookwest
2.修改用户密码:
htpasswd -d /etc/squid/user.pass lookwest
3.删除用户:
htpasswd -D /etc/squid/user.pass lookwest
b.编辑/etc/squid/squid.conf
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/user.pass
//由于我使用的是64位的centos所以上面是/usr/lib64/squid/ncsa_auth
//那后面跟的就是刚才生成密码文件的位置/etc/squid/user.pass
auth_param basic children 5
//指定认证程序的进程数
auth_param basic realm Welcome to LookWest
//浏览器显示输入用户/密码对话框时的领域内容
auth_param basic credentialsttl 2 hours
//基本的认证有效时间
acl lookwest proxy_auth REQUIRED
//普通用户需要通过认证才能访问Internet
http_access allow lookwest
最后需要加入一行:
http_access deny all
小技巧:
要使squid重新加载配置文件是不用重新启动squid服务的,只需要运行:
[root@WebSer ~]# squid -k reconfigure
本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1248026