CentOS 5+Squid+openldap
1.安装CentOS 5;
2.使用CentOS 5安装光盘中的rpm包安装squid、openldap(需安装openldap-client);
3.为squid建立缓存文件,这里在/usr/local下建立cache文件夹:
cd /
cd var
mkdir cache
4. 更改cache文件夹权限,由于squid默认以nobody用户运行,所以需要修改var文件夹权限,否则会提示无法生成缓存文件;
chown -R nobody:nobody /usr/local/cache
5. 生成缓存;
/usr/local/squid/sbin/squid –z
提示成功;
6. 启动SQUID测试一下是否成功
Service squid start
7. 测试squid是否成功:
Netstat –tln | grep 3128
提示如下:
tcp 0 0.0.0.0:3128 0.0.0.0:* LISTEN
8. 防火墙开启3128端口:
vi /etc/sysconfig/iptables
打开后加入下边一句策略:
-A RH-Firewall-1-INPUT -m state --state NEW,ESTABLISHED,RELATED -m tcp -p tcp --
tcp --dport 3128 -j ACCEPT
保存退出:
:wq
9. 修改ldap:
vi /etc/openldap/ldap.conf
打开后编辑:
BASE DC=cyou-inc.com,dc=com
URI ldap://hq-dc-01.cyou-inc.com
注视hq-dc-01.cyou-inc.com为域控制器名称;
9. 测试ldap与域之间连线是否正常:
/usr/bin/ldapsearch –x –W –D “cn=squiduser,cn=users,dc=cyou-inc,dc=com” –b “cn=squiduser,cn=users,dc=cyou-inc,dc=com” –h hq-dc-01.cyou-inc.com
注释:这是通过绑定CN=squiduser来查询域帐号squiduser,查询谁都无所谓。
会提示输入LDAP password:此处输入的是squiduser的域用户密码
如果没问题,会显示大量的域用户信息。
10. 配置squid:
vi /etc/squid/squid.conf
打开后找到auth_param basic program,在后边添加:
/usr/lib64/squid/squid_ldap_auth –R –b“dc=cyou-inc,dc=com”-D“cn=squiduser,cn=user,dc=cyou-inc,dc=com” –w “abcd.1234” –f sAMAccountName=%s -h hq-dc-01.cyou-inc.com
其中password为用户squiduser的密码,sAMAccountName 是你想验证用户信息的类型,具体可以查看域用户的各种属性。
取消下边几句前边的#:
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
同时可以测试是否可以通过认证,方法如下:
/usr/lib64/squid/squid_ldap_auth –R –b“dc=cyou-inc,dc=com”-D“cn=squiduser,cn=user,dc=cyou-inc,dc=com” –w “abcd.1234” –f sAMAccountName=%s -h hq-dc-01.cyou-inc.com
然后输入你想查询的用户名 空格 密码,如果提示OK 则证明LDAP与域认证没有问题。
设置访问规则:
acl ldap proxy_auth REQUIRED
http_access allow ldap
所有策略放在http_access deny all之前。
11. 在客户端设置,打开IE浏览器,点击工具->Internet选项->连接->局域网(LAN)设置,在代理服务器地址中输入服务器地址,端口输入3128,即可。
12. 限制网速可以使用delay_pools
acl limit_ip src 10.6.152.0/22 #定义限速IP地址范围
delay_pools 1 #开启一个延迟池
delay_class 1 2 #定义延迟池的类型为2
delay_access 1 allow limit_ip #受限网段延迟池
delay_parameters 1 1024000/1024000 10240/10240
#定义下载速率,1024000/1024000表示总的下载速度,10240/10240表示每个IP的下载速度,如果不限制可用-1/-1。
class类型1为单个IP地址流量
class类型2为C类网段中的每个IP地址流量
class类型3为B类网段中的每个C类网段中的每个IP地址流量
具体的说:
类型1只有一个总带宽流量实际也就是这个IP地址的流量
delay_parameters 1 64000/64000
类型2有两个带宽流量参数,第一个为整个C类型网段流量,第二个为每个IP流量
delay_parameters 1 -1/-1 64000/64000
类型3有三个带宽流量参数,第一个为整个B类网总流量,第二个为每个B类网段中的C类网段总流量,第三个为了B类网段中每个C类网段中的每个IP流量
delay_parameters 1 -1/-1 -1/-1 64000/64000