Squid服务搭建

图片来自网络

一、简介

Squid 是一个 Web 缓存代理,支持 HTTP, HTTPS, FTP, 以及更多。它通过缓存与重用经常请求的web页面,减少带宽使用同时提升了响应时间。Squid 具有可扩展的访问控制功能,同时可以使服务器加速。Squid总共有三种模式,分别是传统模式、透明模式、反向代理。

二、缓存服务器的工作原理

通过代理服务器访问外部网站,开启缓存池,缓存了部分的静态页面,如果下一个客户再来访问,代理服务器会去真是服务器核实页面是否更新了,然后决定是否更新缓存池,然后返回给客户。如果是全新页面,代理服务器会去真实服务器读取数据返回给客户。

架构图(来自网络)

三、实验环境

本实验共准备三台(CentOS 7.6)。
记得关闭三台服务的防火墙和SElinux。

1)传统模式的搭建

a.ip配置
客户端ip:192.168.80.10,Squid服务器有两块网卡,对应的ip分别是:内:192.168.80.20,外:192.168.90.20,web服务器则是192.168.90.30
b.我们先搭建并启动web服务器,我们选择Apache

yum -y install httpd
systemctl start httpd
echo "This is a web server" > /var/www/html/index.html

c.测试


image.png

d.客户端搭建
由于传统模式要在浏览器中配置代理,因此我们实现准备一台装有桌面的CentOS。


image.png

e.Squid的配置与启动

yum -y install squid
systemctl start squid

查看是否启动


image.png

由于squid要接收来自客户端的数据包,并转发给真正的web服务器,因此要开启路由转发功能

 echo 1 > /proc/sys/net/ipv4/ip_forward

f.最终测试
从客户端的浏览器访问


image.png

查看web服务器的访问日志


image.png

可以看到都是由squid服务器来访问的。最后,我们也可以将web服务器关闭,再在client上测试,同样也能访问到网页。

2)透明模式的搭建

由于传统模式要在客户端的浏览器上设置代理,比较麻烦。因此有了透明模式。
透明模式则不需要再浏览器上设置,client直接访问即可。
a.client的设置
由于我们这边没有路由器,因此我们指定client的网关为squid的ip地址,这样在client访问web会先将数据包发送给squid内网,再由squid服务器将其请求转发给web服务器。

echo "GATEWAY=192.168.80.20" >> /etc/sysconfig/network-scripts/ifcfg-ens33

重启网卡
查看是否设置成功


image.png

b.squid服务器的配置
修改配置文件

vim /etc/squid/squid.conf

修改http_port为
http_port 192.168.80.20:3128 transparent (transparent为透明的意思),重启服务

同样,该服务器的路由转发功能也要打开。

c.防火墙的配置
Centos 7.x中没有iptables工具,用yum下载

yum -y install iptables-services

首先要清空防火墙的规则

iptables -F

添加一条规则

iptables -t nat -A PREROUTING -i ens33 -s 192.168.80.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128

这条规则的意思是:当入站网卡是ens33,内网网段是192.168.80.0段,并且访问的是80端口,那么则将该请求的端口重定向到3128端口。

保存配置

service iptables save

启动iptables

systemctl start iptables

查看

 iptables -t nat -L
image.png

d.client测试


image.png

关闭apache服务,依然能够获取到网页。

f.添加其他的功能
如果想要限制squid代理的文件大小,可以在配置文件中添加
reply_body_max_size 10 MB
意思是:允许代理的最大文件大小为10 MB,超过10 MB不被允许访问。
测试:
向apache的根目录下写入一个11MB的文件

 dd if=/dev/zero of=/var/www/html/test.txt bs=11M count=1

客户端测试


image.png

提示文件太大,代理服务器不能够缓存。

3)反向代理

Squid能够作为反向代理服务器,这点有点类似于Nginx。但Squid只能支持轮询的方式,并且没有健康检查。
a.ip配置
192.168.80.10客户端ip,192.168.90.20192.168.80.20是Squid服务器的内网外网ip,192.168.90.30192.168.90.40分别hi两台后端服务器。
b.Squid服务器的搭建
修改配置文件

vim /etc/squid/squid.conf

image.png

跟之前不一样的是,这边的http_port必须要写外网的ip,因为是公网来访问。
c.测试
在客户端多测试几次,结果:
image.png

image.png

d.注意点
配置反向代理最主要的部分就是配置文件中的:
aclhttp_access,前者是确定范围,后者是允许该网段的范围通过。我们的实验没有配置,是因为在配置文件中事先已经有了该配置。

image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342