CentOS 5+Squid+openldap

81971834 2010-09-30

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

相关推荐