目录
一:squid概述
Squid 是一个高性能的http代理服务器和web缓存服务器,可以很好的实现HTTP和FTP以及DNS查询、SSL等应用的缓存代理。
1、代理用户向web服务器请求数据并进行缓存,可以过滤流量帮助网络安全。
2、可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网。
3、可以用在局域网中,使局域网用户通过代理上网。
4、可以将数据缓存在内存中,同时也缓存DNS查询的结果,还支持非模块化的DNS查询,对失败的请求进行消极缓存。
5、Squid支持SSL,支持ACL访问控制。
Web代理的工作机制
- 缓存网页对象,减少重复请求
1.1:squid代理的作用
- 代理上网 (传统代理,透明代理)
- 网站静态页面缓存加速(反向代理)
二:squid的代理类型
- 普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;
- 透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;
- 反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
使用代理的好处
- 提高Web访问速度
- 隐藏客户机的真实IP地址
- 部署简单,可以实现访问控制。
三:squid传统代理的部署
传统代理模式
客户端必须在自己的浏览器里指定服务器的ip地址和监听的端口号,才能通过squid代理服务器上网。
3.1: 项目介绍
主机 | IP | 主要软件 |
---|---|---|
squid代理服务器 | 192.168.100.22 | squid-3.5.27.tar.gz |
web服务器 | 192.168.100.23 | apache |
[root@localhost ~]# hostnamectl set-hostname squid
[root@localhost ~]# su
[root@squid ~]#
[root@localhost ~]# hostnamectl set-hostname web
[root@localhost ~]# su
[root@web ~]#
3.2:部署过程
- 在squid服务器部署squid服务
tar zxvf squid-3.4.6.tar.gz -C /opt/
cd /opt/squid-3.4.6
./configure --prefix=/usr/local/squid \ ##自定义安装路径
--sysconfdir=/etc \ ##单独将配置文件修改到/etc目录下
--enable-arp-acl \ ##可在ACL中设置通过MAC地址进行管理,防止客户端使用IP欺骗
--enable-linux-netfilter \ ##使用内核过滤
--enable-linux-tproxy \ ##支持透明模式
--enable-async-io=100 \ ##异步I/O提升存储性能,值可修改
--enable-err-language ="Simplify_Chinese" \ ##错误信息的提示语言
--enable-