搭建代理服务器可以提高上网打开网页的速度,可以对非法网站进行屏蔽,限制文件下载,以及查看员工访问internet的情况,包括上网的地址,用户,时间等,是企业网络管理的常用手段。
代理服务器分为传统代理和透明代理,传统代理适用于浏览internet,需要在浏览器上手工指定服务器地址和端口,不是很方便,但是可以隐藏本机真实的ip地址,而且为下载工具使用多个代理可以规避服务器的并发连接显示。透明代理适用于共享上网网关,不需要指定服务器地址和端口,无需额外的设置即可上网,在实际工作中透明代理较多。
缓存代理概述:
作为应用层的代理服务器软件,Squid主要提供缓存加速、应用层过滤控制的功能。
代理的工作机制
缓存网页对象,减少重复请求
代理的基本类型:
传统代理:适用于Internet,需明确指定服务端
透明代理:适用于共享上网网关,不需指定服务端
使用代理的好处
提高Web访问速度
隐藏客户机的真实IP地址
一、搭建传统代理服务器
实验拓扑
2.实验步骤:
服务器B:
编译安装Squid
选项含义:
--prefix 安装路径
--syscondir 单独将配置文件修改到其他目录
--enable-arp-acl 可以在规则中设置直接通过客户端MAC进行管理,防止客户端使用 IP欺骗
--enable-linux-netfilter 使用内核过滤
--enable-linux-tproxy 支持透明模式
--enable-async-io=值 异步I/O,提升存储性能
--enable-err-language 错误信息的显示语言
--enable-underscore 允许URL中有下划线
--enable-poll 使用Poll()模式,提升性能
--enable-gunregex 使用GUN 正则表达式
2.安装完成后,创建链接文件、创建用户和组
3.将Squid添加为系统服务
编写Squid服务脚本
添加系统服务
4.修改配置文件 vim /etc/squid.conf
5.设置防火墙规则
6.检查配置文件
7.开始Squid服务
服务器A
在服务器A上编写一个简单的测试网页,并开启http服务
设置防火墙规则,允许客户机连接
客户机C
在IE浏览器中,选择“工具” ---“Internet选项”,弹出“Internet选项”对话框,在“连接”选项卡中的“局域网(LAN)设置”选项组中单机“局域网设置”按钮,弹出“局域网(LAN)设置”对话框。
接下来客户机进行访问
代理服务的验证方法
查看Squid访问日志的记录,
在客户机访问网站,然后查看web服务器的访问日志,发现客户机172.16.16.110访问网站172.16.16.172的记录,但是在web服务器中,查看网站日志文件,显示的访问者是代理服务器的地址172.16.16.22,不是客户端的地址。
在服务器B上查看
在服务器A上查看
二、搭建透明代理服务器
实验拓扑
实验步骤(安装的步骤参考前面的传统代理,IP地址的配置省略)
1.配置squid支持透明代理 Vi /etc/squid.conf
只修改上面的一行即可。
2.重启服务
3.开启路由转发功能
4.设置iptables的重定向策略(正确区分内网卡和外网卡,根据实际情况而定)
5.客户机进行访问(在IE浏览器上关闭前边设置的代理服务器)
验证透明代理
代理服务器
网站服务器
三、ACL访问控制
Squid提供了强大的代理控制机制,通过合理设置ACL并进行限制,可以针对源地址、目标地址、访问的URL路径、访问的时间等各种条件进行过滤。
实现ACL访问控制的步骤:
(1)使用acl配置项定义需要控制的条件
(2)通过http_access配置项对已定义的列表做“允许”或“拒绝”访问的控制
格式: acl 列表名称 列表类型 列表内容 ...
常用的访问控制列表类型
列表类型 | 含义/用途 | 列表内容示例 |
src | 源IP地址、网段、IP地址范围 | 192.168.1.100 192.168.1.0/24 192.168.1.0-192.168.3.0/24 |
dst | 目标IP地址、网段主机名 | 216.182.154.9 216.182.154.0/24 www.ysf.com |
port | 目标端口 | 80 443 20 22 |
srcdomain | 源名称 | .benet.com |
dstdomain | 目标域,匹配域内所有的站点 | .qq.com |
time | 字母表示一星期中各天的英文缩写MTWHFAS | MTWHF 8:30-17:30(周一至周五的时刻) 12:30-13:30 AS(周六、日) |
maxconn | 每个客户机的并发连接数 | 20 |
url_regex | 目标资源的URL地址,-i表示忽略大小写 | url_regex -i ^rtsp:// |
urlpath_regex | 目标资源的整个URL路径 | urlpath_regex -i sex adult urlpath_regex -i \.mp3$ |
举例:
1、禁止下载扩展名为:.mp4,avi视频
2、超过4mb大小的文件不进行缓存,禁止下载超过10mb的文件
3、设置网站黑名单,禁止访问位于.qq.com,.lol.com的网站
4、允许在正常上班时间(周一到周五8:30-17:30)上网
5、默认策略设置为禁止任何客户机使用代理服务器
vim /etc/squid.conf
在网站服务器上建立测试文件
客户机进行测试
四、Squid日志分析
安装GD库
2.安装sarg
配置项含义:
--syscondir=/etc/sarg 配置文件目录,默认是/usr/local/etc
--enable-extraprotection 添加额外的安全保护
3.配置
指定squid的访问日志文件
网页标题
sarg报告的输出记录
使用用户名显示
在top排序中,指定连接次数、访问字节数,采用降序排列,升序将reverse换成normal
对于用户访问记录,连接次数按降序排列
当那个日期报告已经存在,是否覆盖报告
发送邮件报告的命令
指定不计入排序的站点列表文件
使用字符集
指定top排序时的星期周期和时间周期,0为周日
网页根目录
4.运行
设置防火墙规则
5.验证
6.计划任务
编写脚本
设置任务计划
crontab -e
转载于:https://blog.51cto.com/13555753/2067177