squid之正向代理,反向代理和平衡轮询

1.什么是squid?

Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器,并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。

2.squid软件介绍

软件相关目录

[root@squid-server ~]# rpm -ql squid
/etc/squid/squid.conf                   ##配置文件
/etc/rc.d/init.d/squid                  ##启动脚本
/usr/sbin/squid                         ##二进制命令
/usr/share/doc/squid-3.1.10             ##手册
/var/log/squid                          ##日志目录
/var/spool/squid                        ##缓存目录

配置文件说明

# cat /etc/squid/squid.conf
//设置监听的IP与端口号
http_port 3128

//额外提供给squid使用的内存大小
cache_mem   默认256 MB   

//设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
maximum_object_size 4 MB   

//设置squid磁盘缓存最小文件
minimum_object_size 0 KB 

//设置squid内存缓存最大文件,超过4M的文件不保存到内存
maximum_object_size_in_memory 4096 KB   

//定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
cache_dir ufs /var/spool/squid 100 16 256   

//log文件日志格式
logformat combined %&gt;a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}&gt;h" %Ss:%Sh        

//log文件存放路径和日志格式
access_log /var/log/squid/access.log combined  

//设置缓存日志
cache_log /var/log/squid/cache.log   

//log轮转60天
logfile_rotate 60   

//cache目录使用量大于95%时,开始清理旧的cache
cache_swap_high 95  

//cache目录清理到90%时停止
cache_swap_low 90   

//定义本地网段
acl localnet src 192.168.1.0/24  

//允许本地网段使用
http_access allow localnet  

//拒绝所有
http_access deny all  

//主机名
visible_hostname xxx.xxxx.xxxx 

//管理员邮箱
cache_mgr 123456@qq.com 

3.squid的正向代理

正向代理: 是位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

实验要求:一台能上网的虚拟机(服务端),一台不能上网的虚拟机(客户端)。通过squid正向代理让客户端能够获得上网能力。

配置服务端网络环境,让其能够上网并搭建yum仓库。

hostnamectl set-hostname server
vim /etc/sysconfig/network-scripts/eth0       ##设置ip,网关
vim /etc/yum.repos.d/westos.repo              ##配置yum仓库

在这里插入图片描述
在这里插入图片描述

route -n     ##查看网关
vim /etc/reslov.conf            ##自动解析

在这里插入图片描述
在这里插入图片描述
可以上网
在这里插入图片描述

yum install squid -y
systemcl start squid
systemctl enable squid
netstat -antlupe | grep squid        ##查看squid开方端口

在这里插入图片描述在这里插入图片描述

vim /etc/squid/squid.conf    ##修改配置文件
56 http_access allow all     56行,允许所有
62 cache_dir ufs /var/spool/squid 100 16 256    62行,取消注释
缓存大小100M 16个一级目录 256个二级目录
缓存不会一直存在在客户端,会定期清理

systemctl restart squid
systemctl stop firewalld.service 

在这里插入图片描述在这里插入图片描述
在客户端,ip为172.25.254.216不能上网

在这里插入图片描述

浏览器配置代理服务器:指定代理服务器的IP和端口 
Firefox: Edit————>Preference————>Advanced————>Network————>Settings————>Manual proxy configuration 编辑--首选项--高级--网络--设置-- 手动填写代理服务器的IP和代理端口 
Chrome: 设置——>高级——>打开代理设置——>连接——>局域网设置——>为LAN使用代理服务器前打勾并填上代理服务器的内网IP及其代理端口
IE: 设置——>Internet选项——>连接——>局域网设置--为LAN使用代理服务器前打勾并填上代理服务器的内网IP及其代理端口

在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.squid的反向代理

为了更加直观,将上个实验的server改名xian(代理端)
client改为shengzhen(服务端),另加一台客户端。

服务端:

vim /var/www/html/index.html           ##编写测试文件
systemctl start httpd
systemctl stop firewalld

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代理端:

vim /etc/squid/squid.conf
systemctl restart squid

在这里插入图片描述
客户端:

vim /etc/reslov.conf

在这里插入图片描述
测试:
在这里插入图片描述

5.平衡轮询

意义:可以缓解服务器的压力,能够在不影响用户体验的情况下。通过squid将用户按照指定权重分配到不同的服务器上防止过载。

实验:
本次轮询实验是在反向代理的基础上做的,添加一台ip为172.25.254.217的服务端。

安装httpd服务并编写测试文件

yum install httpd -y
vin /var/www/html/index.html
systemctl start httpd
systemctl stop firewalld

在这里插入图片描述
在这里插入图片描述
可以正常访问
在这里插入图片描述
进入代理端,编写配置文件

vim /etc/squid/squid.conf

在这里插入图片描述
测试:
在客户端访问westos.com,刷新访问两次216,再访问一次217
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值