LinuxProbe 0x18 使用Squid部署代理缓存服务

本文介绍了Squid作为Linux系统中的一款高性能代理服务软件,详细阐述了如何配置Squid进行正向代理,包括标准代理和透明代理模式,并通过实例演示了ACL访问控制,以限制或允许特定用户访问。此外,文章还简要提及了反向代理的概念。
摘要由CSDN通过智能技术生成
  • 代理缓存服务

 

Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存。

Squid服务程序具有配置简单、效率高、功能丰富等特点,它能支持HTTP、FTP、SSL等多种协议的数据缓存,可以基于访问控制列表(ACL)和访问权限列表(ARL)执行内容过滤与权限管理功能,还可以基于多种条件禁止用户访问存在威胁或不适宜的网站资源,因此可以保护企业内网的安全,提升用户的网络体验,帮助节省网络带宽。

由于缓存代理服务不但会消耗服务器较多的CPU计算性能、内存以及硬盘等硬件资源,同时还需要较大的网络带宽来保障数据的传输效率,由此会造成较大的网络带宽开销。因此国内很多IDC或CDN服务提供商会将缓存代理节点服务器放置在二三线城市以降低运营成本。

在使用Squid服务程序为用户提供缓存代理服务时,具有正向代理模式和反向代理模式之分。

正向代理模式,是指让用户通过Squid服务程序获取网站页面等资源,以及基于访问控制列表(ACL)功能对用户访问网站行为进行限制,在具体的服务方式上又分为标准代理模式与透明代理模式。

                        标准正向代理模式是把网站数据缓存到服务器本地,提高数据资源被再次访问时的效率,但是用户在上网时必须在浏览器等软件中填写代理服务器的IP地址与端口号信息,否则默认不使用代理服务。

                        透明正向代理模式的作用与标准正向代理模式基本相同,区别是用户不需要手动指定代理服务器的IP地址与端口号,所以这种代理服务对于用户来讲是相对透明的。

使用Squid服务程序提供正向代理服务的拓扑图

局域网内的主机如果想要访问外网,则必须要通过Squid服务器提供的代理才行,这样当Squid服务器接收到用户的指令后会向外部发出请求,然后将接收到的数据交还给发出指令的那个用户,从而实现了用户的代理上网需求。

反向代理模式是指让多台节点主机反向缓存网站数据,从而加快用户访问速度。

使用Squid服务程序提供反向代理服务的拓扑图

总结
        正向代理模式一般用于企业局域网之中,让企业用户统一地通过Squid服务访问互联网资源,这样不仅可以在一定程度上减少公网带宽的开销,而且还能对用户访问的网站内容进行监管限制,一旦内网用户访问的网站内容与禁止规则相匹配,就会自动屏蔽网站。
        反向代理模式一般是为大中型网站提供缓存服务的,它把网站中的静态资源保存在国内多个节点机房中,当有用户发起静态资源的访问请求时,可以就近为用户分配节点并传输资源,因此在大中型网站中得到了普遍应用。

配置Squid服务程序

主机名称

操作系统

IP地址

Squid服务器

RHEL8

内网卡:192.168.10.10

外网卡:桥接DHCP模式

客户端

RHEL 8

192.168.10.20

客户端

Windows 7

192.168.10.50

服务配置

在虚拟机中增加一个网卡,宣威桥接模式

[root@localhost ~]# nm-connection-editor
[root@localhost ~]# nmcli connection up ens192
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data.
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=52 time=110 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=52 time=14.9 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=52 time=15.4 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 9ms
rtt min/avg/max/mdev = 14.854/46.717/109.889/44.670 ms
[root@localhost ~]#
[root@localhost ~]# ping 192.168.10.20
PING 192.168.10.20 (192.168.10.20) 56(84) bytes of data.
64 bytes from 192.168.10.20: icmp_seq=1 ttl=64 time=2.01 ms
64 bytes from 192.168.10.20: icmp_seq=2 ttl=64 time=1.40 ms
64 bytes from 192.168.10.20: icmp_seq=3 ttl=64 time=0.828 ms
64 bytes from 192.168.10.20: icmp_seq=4 ttl=64 time=0.992 ms
^C
--- 192.168.10.20 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 9ms
rtt min/avg/max/mdev = 0.828/1.305/2.006/0.456 ms
[root@localhost ~]#

安装 squid 服务

[root@localhost ~]# dnf install squid
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:40:22 ago on Tue 12 Oct 2021 01:40:25 PM CST.
Dependencies resolved.
============================================================================================================================================
Package           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值