案例需求
——公司选用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