文章目录
前言
一:squid代理服务概述
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:环境
- VMware软件
- 一台centos7虚拟机作为squid服务器,IP地址为:192.168.79.133
- 一台centos7虚拟机作为web服务器,IP地址为:192.168.79.134
- 一台win10虚拟机作为client测试机,IP地址为:192.168.79.128
2.2:实验目的
三:传统代理试验过程
3.1:在squid服务器上部署squid服务
-
[root@squid ~]# mount.cifs //192.168.11.1/ccc /mnt Password for root@//192.168.11.1/ccc: [root@squid ~]# cd /mnt/company/ [root@squid company]# tar zxvf squid-3.4.6.tar.gz -C /opt [root@squid company]# cd /opt/squid-3.4.6/ [root@squid squid-3.4.6]# yum install gcc gcc-c++ -y [root@squid squid-3.4.6]# ./configure \ --prefix=/usr/local/squid \ '//安装路径' --sysconfdir=/etc \ '//配置文件目录' --enable-arp-acl \ '//支持acl访问控制列表' --enable-linux-netfilter \ '//支持网络筛选' --enable-linux-tproxy \ '//支持透明' --enable-async-io=100 \ '//io优化' --enable-err-language="Simplify_Chinese" \ '//报错显示简体中文' --enable-underscore \ --enable-poll \ '//关闭默认使用poll模式,开启epoll模式提提升性能' --enable-gnuregex '//支持正则表达' [root@squid squid-3.4.6]# make && make install '//编译安装' [root@squid squid-3.4.6]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/ '//创建命令软连接,方便系统识别' [root@squid squid-3.4.6]# useradd -M -s /sbin/nologin squid '//创建系统用户' [root@squid squid-3.4.6]# chown -R squid.squid /usr/local/squid/var/ '//设置目录的属主和属组'