前言:
Squid代理服务器的工作原理:当客户机通过代理请求访问web页面时,
指定的代理服务器首先检查本地的缓存,如果缓存中存在客户机所请求的
的页面,代理服务器将页面反馈到客户机器,如果没有代理服务器将会请求发
送给web服务器,web服务器响应后,代理服务器会将页面保存到本地缓存中,
然后发送给客户机,由于web请求实际由代理服务器来完成,从而起到了隐藏
客户机器的IP地址.
代理服务器分为两种及传统代理和透明代理,现在一般以透明代理为主,传统
代理的功能透明代理都具有,两者的区别在于透明代理无需客户在客户机上指定
代理服务器的地址、端口、而是通过防火墙策略将web服务进行重定向,交给代理
服务器处理,整个客户机并不需要参与,对于客户机的用户来说时透明的,需要注
意的是使用透明代理,web请求是优先发给dns服务器的.
正文:
一、Squid的正向代理
正向代理,是一个位于客户端和源服务器之间服务器即代理服务器,
为了使得客户机器从源服务器获得需要的内容,客户端向代理服务器
发送一个请求并指定目标(源服务器).然后代理服务器向源服务器发送
请求并获得内容返回给客户机.
优势:可以访问以前不能访问的页面;拥有缓存,加快客户端访问速度.
1、实验环境的准备
设定虚拟机上网功能
(1)在虚拟机上进行设定
cd /etc/sysconfig/network-scripts/ ###进行目录的切换
vim ifcfg-eth0 ###进行网络文件的编辑
route -n ###进行设定网关的查看
systemctl restart network ###进行网络的重启
vim /etc/resolv.conf ###进行dns的设定
进行网关的设定
进行DNS地设定
vim /etc/resolv.conf ###进行dns服务的设定
(2)在真机上进行相关的设定
systemctl start firewalld ###进行火墙的启动
firewall-cmd --add-masquerade ###开启火墙的伪装功能
systemctl restart firewalld ###进行火墙的重启
(3)进行相关的测试
在真机上
在虚拟机上
2、在服务端进行软件的安装和客户端进行相关的测验
yum install squid -y ###进行软件的安装
systemctl start squid ###进行代理服务的启动
systemctl stop firewalld ###进行火墙的关闭
vim /etc/squid/squid.conf ###进行服务配置文件的编辑
systemctl restart squid ###进行服务的重启
在服务端
1)进行软件的安装和火墙的关闭
yum install squid -y ###进行代理软件的安装
systemctl stop firewalld ###进行火墙的关闭
2)进行服务配置文件的编辑和服务的重启
vim /etc/squid/squid.conf ###进行服务配置文件的编辑
systemctl restart squid ###进行服务的重启
在客户端
未设定代理之前进行l浏览器的测试
在浏览器中打开代理功能
在浏览器中进行相应的测试
二、Squid的反向代理
反向代理是指以代理服务器来接受internet上的连接请求,然后
将请求发送给内部网络的服务器,并将从服务器上得到的结果返回给请
求访问网络的客户端,此时代理服务器就表现为一个反向代理服务器.
优点:加快客户端访问服务器的速度
在代理服务端进行相关的配置
1、进行代理服务软件的安装
yum install squid -y ###进行代理服务软件的安装
systemctl stop firewalld ###进行火墙的关闭
2、进行服务配置文件的编辑和服务的重启
vim /etc/squid/squid.conf ###进行服务配置文件的编辑
systemctl restart squid ###进行代理服务的重启
systemctl stop httpd ###进行Apache服务地关闭
在服务端
1)、进行服务代理的取消
2)进行Apache服务软件地安装
yum install httpd -y ###进行Apache软件地安装
systemctl start httpd ###进行Apache服务地开启
systemctl stop firewalld ###进行火墙地关闭
2)编辑浏览器默认访问的文件的设定
cd /var/www/html ###进行目录地切换
vim index.html ###进行默认发布文件地编辑
systemctl restart httpd ###进行Apache服务地地重启
4、使用浏览器进行验证
使用正机器进行浏览器地验证
三、web的集群轮循
1、在代理服务器上进行相关地配置
vim /etc/squid/squid.conf ###进行代理配置文件地编辑
systemctl restart squid ###进行服务地重启
2、在服务器端口进行相关地配置(在这里我们采用两台服务器)
1)第一台服务器在上面我们已经做过相关地配置,因此不需要在进行设定
2)第二台服务器进行相关地配置
yum install httpd -y ###进行Apache软件地安装
cd /var/www/html ###进行目录地切换
vim index.html ###进行默认发布文件地编辑
systemctl stop firewalld ###进行火墙地关闭
systemctl restart httpd ###进行服务地重启
3、在客户端进行相关地设定与测试
1)进行域名解析地设定
vim /etc/hosts ###进行域名解析地设定
2)在浏览器上进行相关地验证
可以看到两台服务器轮循成功
4、进行论循次数地设定
(1)在代理服务端
vim /etc/squid/squid.conf ###进行代理服务配置文件地编辑
systemctl restart squid ###进行服务地重启
(2)在浏览器上进行验证
经验证两台服务器根据设定地次数轮循。实验成功。