Squid
前言
一、概述
1.1:代理原理
1.2:工作机制
1.3:squid基本类型
二、环境部署
2.1:实验目的
2.2:实验环境
三、传统代理
3.1:安装squid服务
3.2:修改配置文件
3.3:安装httpd服务
3.4:设置squid代理
四、透明代理
4.1:修改环境
4.2:配置squid服务
4.3:配置web
4.4:客户机访问
前言
Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。
一、概述
1.1:代理原理
- Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
1.2:工作机制
- 缓存网页对象,减少重复请求
- 它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求
- 也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求
- 然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。
1.3:squid基本类型
- 传统代理
- 普通的代理服务,适用于Internet,需明确指定服务端
- 透明代理
- 客户机不需要指定代理服务器的地址和端口,是通过默认路由,防火墙将web重定向给代理
- 使用代理可以提高web的访问速度,同时可以隐藏客户机的真实IP地址,从而起到一定的保护作用
- 另一方面,squid也可以针对要访问的目标、客户机的地址、访问的时间段进行过滤控制。
二、环境部署
2.1:实验目的
验证squid代理原理
2.2:实验环境
VMware虚拟机
1台Linux服务器做web主机,CentOS7.4,IP地址为192.168.100.10
1台Linux服务器做squid主机,CentOS7.4,IP地址为192.168.100.20
三、传统代理
3.1:安装squid服务
- 修改主机名
[root@localhost ~]# hostnamectl set-hostname squid
[root@localhost ~]# su
[root@squid ~]#
- 编译安装
[root@squid ~]# yum install gcc gcc-c++ -y
[root@squid ~]# cd /opt
[root@squid opt]# tar zxvf squid-3.4.6.tar.gz
[root@squid opt]# cd squid-3.4.6/
[root@squidsquid-3.4.6]# ./configure \
--prefix=/usr/local/squid \ ####指定安装路径
--sysconfdir=/etc \ ##指定配置文件目录
--enable-arp-acl \ ##支持acl访问控制列表
--enable-linux-netfilter \ ##支持网络筛选
--enable-linux-tproxy \ ##支持透明
--enable-async-io=100 \