第一章:Squid代理服务器
防伪码:只有顽强,明日路纵会更彷徨!
理论概述:
1.缓存代理概述:squid主要提供缓存加速,应用层过滤控制的功能。
2.代理的基本类型
1)传统代理:普通的代理服务器,首先必须在客户机的浏览器、qq聊天工具、下载软件等程序中手动设置代理服务器的地址和端口,然后才能使用代理来访问网络。
2)透明代理:提供与传统代理相同的功能和服务,其区别在于客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向,实际仍然交给代理服务器来处理。
实际应用中,传统代理多见于internet环境,如为qq程序使用代理可以隐藏本机的真是ip地址、为下载工具使用多个代理可以规避服务器的并发连接限制。而透明代理多见于局域网环境,如在Linux网关中启用透明代理后,局域网主机无需进行额外设置就可以享受更好的上网速度。
实验部分:
一、搭建传统代理服务器
1、实验拓扑:
2、实验步骤
1)在服务器B上安装squid代理服务器软件(挂载光盘,解压缩,编译安装)
--prefix=/usr/local/squid //安装目录
--sysconfdir=/etc //单独将配置文件修改到其他目录
--enable-arp-acl //可以在规则中设置直接通过客户端mac进行管理,防止客户端使用ip欺骗***
--enable-linux-netfilter //使用内核过滤
--enable-linux-tproxy //支持透明模式
--enable-async-io=值 //异步i/o,提升存储性能
--enable-err-language=”Simplify_Chinese” //错误信息的显示语言
--enable-poll //使用Poll()模式,提升性能
--enable-underscore //允许url中有下划线
--enable-gnuregex //使用GNU正则表达式
2)创建连接文件,创建用户和组
3)使用squid服务脚本(为了可以方便启动停止服务)
没有完,下面续写
4)设置权限,并添加为系统服务
5)修改配置文件
Vi /etc/squid.conf
主要修改有以下几条配置项,有的配置项需要修改,而有的配置项需要添加。
http_port 3128 squid的默认监听端口tcp 修改 cache_effective_group squid squid的运行组 添加
cache_effective_user squid squid的运行用户 添加
visible_hostname localhost.localdomain 当前系统的主机名 添加
cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256
6)在防火墙上添加允许策略
7)启动squid服务
执行:Squid -k parse检测语法是否正确,出现很多内容,一般不用理会,没有提示错误就可以。
执行squid -z 初始化缓存目录,此步必须要做,执行完之后稍微等一会。
执行squid启动服务,也可以使用service squid start启动服务,第一次启动最好用squid启动。
squid
service squid start
8)在服务器A搭建网站
9)在客户机上修改IE浏览器的代理服务器地址
10)在客户机上访问网站
*注意要在网站服务器A上开启80端口
然后停止代理服务器,再次访问发现不能上网,说明客户机是通过代理服务器来上网的。
11)
在客户机访问网站,然后查看web服务器的访问日志,发现客户机172.16.16.110访问网站172.16.16.172的记录,但是在web服务器中,查看网站日志文件,显示的访问者是代理服务器的地址172.16.16.22,不是客户端的地址。
二、搭建透明代理服务器
1、实验拓扑
2、实验步骤
1)配置squid支持透明代理
vim /etc/squid.conf
修改第59行,修改完重载squid服务
2)在服务器B上开启路由转发(临时)
3)配置防火墙重定向
4)在客户机访问网站(必须配置网关)
5)
如果在linux客户机上测试,需要提前清除HTTP_PROXY、HTTPS_PROXY变量
Unset HTTP_PROXY HTTPS_PROXY
我们就在windows上验证了,因为在实际工作中,员工很少使用LINUX访问网站。
验证方法和传统代理验证方法一样
在服务器A上查看的访问者是代理服务器172.16.16.22,说明实验正确。
三、设置ACL访问控制
1、禁止下载扩展名为:.mp4,avi视频
2、超过4mb大小的文件不进行缓存,禁止下载超过10mb的文件
3、设置网站黑名单,禁止访问位于.qq.com,.lol.com的网站
4、允许在正常上班时间(周一到周五8:30-17:30)上网
5、默认策略设置为禁止任何客户机使用代理服务器。
vim /etc/squid.conf
在客户端上测试下载文件,超过10mb就禁止下载
(在服务器A的网站目录下新建15mb的文件)
四、squid日志分析
1、安装gd库
2、安装sarg
3.配置
修改以下内容,不同添加,修改即可
1)制定squid的访问日志文件
2)网页标题
3)sarg报告的输出目录
4)使用用户名显示,根据连接次数,访问字节数,采用降序排列,升序将reverse换成normal。
对于用户访问记录,连接次数按降序排列。
5)当有日期报告存在,是否覆盖报告
6)发送邮件报告
7)制定不计入排序的站点列表文件
8)使用的字符集为国际编码
9)制定top排序的星期周期和时间周期,0为周日
10)网页根目录
4、运行
5、验证
6、计划任务
crontab -e
每天0点运行统计昨天的内容
chmod +x /usr/local/sarg/daily.sh
chkconfig crond on