RHEL7--第十六章 Squid
使用 Squid 部署代理缓存服务
- 代理缓存服务
优点:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。1:Squid具有配置简单,效率高,支持HTTP,FTP,SSL等多种协议的数据缓存;
2:可基于访问控制列表ACL和访问权限列表ARL执行内容过滤与权限管理功能;
3:可基于多种条件禁止用户访问存在危险的网站资源;
Squid的种类:
1:正向代理
指让用户通过squid服务程序获取网站页面资源,及基于ACL功能对用户访问网站行为进行限制;
两种服务方式:
标准代理模式:把网站数据缓存到服务器本地,提高访问时的效率,但用户需填写代理服务器IP地址及端口,否则不使用代理服务器;
透明代理模式:作用与标准代理模式相同,区别是用户不需要手动指定代理服务器IP及端口;
2:反向代理
指让多台节点主机反向缓存网站数据,加快用户访问速度,如果服务器中已经有用户要访问的静态资源,则直接将缓存发送给用户,加快访问网站速度,减小服务器负载;
两种代理的使用环境
正向代理
多用于企业局域网中,统一通过squid服务器访问互联网,减少公网带宽开销,对用户访问的内容进行监管;
反向代理
为大中型网站提供缓存服务的,把网站的静态资源保存到国内多个节点机房,用户发起静态资源的访问时,就近为用户分配节点资源;
- 配置 Squid服务器程序
常用的 Squid服务配置参数如下:
- 正向代理
1:标准正向代理
实验1
Squid服务程序安装并启动后,默认就可以为用户提供标准正向代理模式服务了,不需要单独修改配置文件或其他操作;
A:只需把 Squid服务重启并添加到开机自启即可;
# systemctl restart squid
# systemctl enable squid
备注:
安全问题:由于 Squid使用的默认端口不安全,所以建议修改默认端口;
Squid服务默认使用的端口有:3218,3401,4827 等;
B:修改Squid的默认端口
# vi /etc/squid/squid.conf
C:重启 squid服务,会提示报错,由于修改了默认端口,违反了 SELinux域安全机制,所以修改的默认端口还是处于不通状态;
# systemctl restart squid
解决方法:
D:首先查看selinux域策略默认的squid的端口有哪些,并没有修改的新端口号;
# semanage port -l | grep squid
将端口值10000号,添加到selinux域策略中;
# semanage port -a -t squid_port_t -p tcp 10000
# semanage port -l | grep squid
# systemctl restart squid
使用windows系统打开IE设置代理,端口为10000,即可测试结果;
2:访问控制列表 ACL
当 Squid服务部署在网关服务器后,Squid的ACL即可发挥作用;筛选可以访问的网站等功能
Squid的ACL的特点:
由多个策略规则组成,根据指定的策略来允许或限制访问请求;
策略的匹配顺序与防火墙的规则一样由上而下;
为了避免ACL将所有流量全部禁止或放行,所有在ACL的最下面加入deny all或allow all
实验1:
A:只允许IP为 192.168.10.30的客户端使用服务器上的Squid服务代理服务,禁止其他所有主机代理请求;
# vi /etc/squid/squid.conf
解析:
acl client :设置了 client 变量的参数 scr 192.168.10.30
allow client:允许变量 client;
B:测试结果
实验2:
A:禁止所有客户端访问某个特定的网站
# vi /etc/squid/squid.conf
3:透明正向代理
“透明”是指让用户在没有感知的情况下使用代理服务器;
好处:
不需用户手动设置代理不武器信息,更加隐秘的监管员工的上网行为;
工作原理:
由DHCP服务器将网络配置信息分配给客户端主机,打开网页自动使用代理服务;
实验
A:配置透明模式
# vi /etc/squid/squid.conf
- 反向代理
工作原理:
把一部分原本向网站源服务器发起的用户请求交给 Squid服务器缓存节点来处理,由于弊端很多,因此许多网站都默认禁止了反向代理功能,开启CDN(内容分发网络)服务的网站避免被窃取行为;
配置过程:
# vi /etc/squid/squid.conf
解析:
192.168.10.20:实验中桥接网卡的IP地址;
10.1.1.1:表示网站源服务器的IP地址;
