案例需求

——公司选用RHEL5服务器作为网关,为了有效节省网络带宽、提高局域网访问Internet的速度,需要在网关服务器上搭建代理服务,并结合防火墙策略实现透明代理,以减少客户端的重复设置工作

 

 

需求描述

使用iptables设置SNAT策略

使192.168.2.0/24网段的主机通过NAT方式共享上网

配置squid代理服务

对HTTP访问进行缓存加速,并结合防火墙策略实现透明代理

在代理服务中进行访问控制

禁止局域网用户下载rmvb、mp3格式的文件

对超过3M大小的文件不做缓存,禁止下载超过8M的文件

禁止用户访问qq.com、tencent.com、xxxx.com等域的网站

启用网址过滤,禁止访问包含“sex”、“adult”字样的链接

实现思路

1. 准备好客户机及Internet测试服务器,正确配置各主机的网络参数

2. 局域网主机将默认网关设为192.168.2.1

3. 在测试服务器上启动httpd服务

4. 修改 squid.conf 文件( /etc/squid/squid.conf )

. . . 其他均保持默认即可(包括空行!)

5. 开启路由转发,添加实现透明代理的REDIRECT策略

6. 设置iptables的重定向策略

 

7. 初始化并启动squid服务

8. 在测试的httpd服务器上,跟目录下创建一个10M的文件,验证是否可以下载

验证过程中,有一段时间需要我们淡定,认真等待一会儿就好了. . .

9. 客户机无需做任何设置(除基本的IP及网关设置外)即可访问外网

10. 查看squid的测试服务器的日志记录,验证代理是否成功

. . . 完 。

附:

访问控制规则的匹配顺序

没有设置任何规则时

—— 将拒绝所有客户端的访问请求

有规则但找不到相匹配的项时

—— 将采用与最后一条规则相反的权限,即如果最后一条规则是allow,那么就拒绝客户端的请求,否则允许该请求

squid软件包基本配置

软件包名:squid-2.6.STABLE6-3.el5

服务名:squid

主程序:/usr/sbin/squid

配置目录:/etc/squid/

主配置文件:/etc/squid/squid.conf

默认监听端口:TCP 3128

默认访问日志文件:/var/log/squid/access.log

 

pdf资料下载:http://down.51cto.com/data/102032