1.squid简介
Squid是一种用来缓冲Internet数据的软件。它接受来自不能直接访问目标的主机对目标的访问请求并处理这些请求,然后将访问结果缓存展示给向它发送请求的主机。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(如:http://www.baidu.com)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。
2.squid的安装配置
2.1正向代理
正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内 容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。
yum install squid -y #安装squid
vim /etc/squid/squid.conf #配置文件
http_access allow all #设置所有主机可以使用此代理
http_port 3128 #配置代理端口
cache_dir ufs /var/spool/squid 100 16 256 #代理缓存目录
cache_peer 192.168.72.5 parent 80 0 proxy-only #代理指向的服务器
systemctl stop firewall #关闭防火墙
systemctl restart squid.service #重启squid服务
- 实验条件
本次实验需要两台主机:
主机一(拥有双网卡):
IP1:192.168.72.5
IP2:192.168.43.30
主机二:
IP:192.168.72.1 - 服务器配置和客户端配置
主机一作为代理服务器,在主机一上安装squid,并配置配置文件中相应的参数,重启squid服务,再在主机二的浏览器上做以下代理设置,即可取通过代理服务器访问不可达的主机
- vim /etc/squid/squid.conf
测试访问
客户端浏览器中:
Edit—->Preferences—->Advanced—->Network—->Settings
手动设置客户机192.168.72.1上的代理
客户机192.168.72.1 与 192.168.43.30网段不同,但借助192.168.72.5(双网卡)代理可以访问至192.168.43.30的网页
2.2反向代理
反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。反向代理的典型用途是将 防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。
- 编辑配置文件vim /etc/squid/squid.conf
- 缓存指向192.168.43.30,端口80
- 缓存指向192.168.43.30,端口80
- 关闭客户机192.168.72.1上的代理
- 关闭服务机(双网卡)上的httpd服务
- 在服务机上输入192.168.72.1访问到了192.168.43.30上的网页,服务机192.168.72.5看的是192.168.43.30上的缓存