服务器架构之性能扩展-第三章squid(4)

简介:

 第三章Squid代理服务器

3.1 Squid代理简介
代理技术是让代理服务器直接访问外部网络,然后将结果传给内部网络,代理服务器主要工作在应用层。Nat技术也可以实现代理访问,它是通过路由功能完成源地址与目的地址的转换,完成访问,主要工作在数据链路层/网络层和传输层等底层。
Nat的优点:工作在底层,透明代理,限制较少。缺点:地址转换技术,源地址和目标地址暴露,容易造成内部网络被攻击。
Squid代理服务器:可以完全做到内部外部分离,可以保障内部安全。缺点:完成的服务功能比较少,并且服务需要支持设置代理ip和端口功能。

 

3.1.1 Squid代理可以实现的功能:
1、提供对HTTP和FTP协议的代理服务
2、缓存代理的内容,提高客户端访问网站的速度,并且能够节约出口网络流量
3、对客户端地址进行访问控制,限制允许访问squid服务器的客户机
4、对目标地址进行访问控制,限制客户端允许访问的网站
5、根据时间进行访问控制,限定客户端可以使用代理服务的时间
3.1.2 缓存代理作用:
通过代理服务器访问外部网站,开启缓存池,缓存了部分的静态页面,如果下一个客户再来访问,代理服务器会去真是服务器核实页面是否更新了,然后决定是否更新缓存池,然后返回给客户。如果是全新页面,代理服务器会去真实服务器读取数据返回给客户。

 

3.2 Squid代理服务的种类
普通代理服务
即标准的,传统的代理服务;需要客户在浏览器中指定代理服务器的地址和端口,一般是为了实现员工访问外部网络的需要。
透明代理服务器
适用于企业的网关主机,客户端不需要指定服务器的地址和端口,通过iptables将客户的web请求交给代理服务器,减少了内部员工设置上的麻烦
反向代理服务
方向代理是实现外网访问内网的一种访问技术
3.3 安装squid服务
Rpm –qa|grep squid          //查看软件包是否安装

Yum install squid*           //yum安装squid

 

Vi /etc/squid/squid.conf        //修改配置文件,我们需要先删除原配置文件,在新建一个配置文件,不会发生误删,因为配置文件默认有两份一个是squid.conf和squid.conf.default

 

Service squid start          //启动squid服务,它会在/var/spool/squid/目录下,自动生成目录,16个一级目录,每个一级目录256个二级目录。

 

可以看到3128端口

 

Squid –k reconfig           //修改配置文件,不重启也可以动态加载
3.4 ACL访问控制原理
ACL(Access Control List),访问控制列表。是用来实现客户机的IP地址和请求的url/文件类型、访问时间、并发请求数进行限制的一种技术支持
它需要先定义然后指定限制类型,是拒绝还是允许。
格式:acl 列表名称 列表类型 列表内容    //定义列表
      http_access allow或deny 列表名       //限制列表
例如:acl all src 0.0.0.0/0.0.0.0
      http_access deny all
首先定义一个名叫all的acl语句,它的内容为所有类型的源地址,类型为拒绝。
常用的ACL列表类型

 

例如:
acl lan src 192.1681.10.1/24
http_access deny lan      //拒绝源地址为192.168.10.0这个子网的ip
acl block_domain dstdomain .qq.com.kaixin001.com

http_access deny block_domain   //拒绝目标域名为qq等的访问

acl work_hour time MTWHF 08:30-17:30
http_access allow work_hour //允许访问的时间段,周一到周五时间段
acl realfile urlpath_regex –I \.rmvb$ \.rm$
http_access deny realfile //禁止这种文件类型的访问,-i忽略大小写
访问控制类型的匹配顺序
没有规则时:拒绝所有客户端的访问请求
有规则但找不到匹配项时:将采用与最后一条相反的权限
3.5 squid代理的实现
内网客户机IP:192.168.10.2 
Squid服务器IP:192.168.10.1 内网ip,200.168.10.1 外网ip
Web服务器IP:200.168.10.2

 

1、          配置网卡

内网用vm1,squid服务器需要拥有两块网卡,内网连载vm1,外网vm2上,web server服务器的连接vm2网卡。分别配置ip和掩码。
Ping测试: //内网可到192.168.10.1,squid server可以通左右

 

 

2、          修改squid配置文件

Vi /etc/squid/squid.conf

 

 

首先配置文件设定服务的端口和ip,visible_hostname设置出问题的联系地址,innet定义来自这个网段的ip都可以,all定义来自所有的ip,reply设置允许资源大小10MB,设置规则允许innet列表, all为禁止列表。
3、配置web server,启动web服务,定义主页内容

4.测试,当没有指定代理时无法访问到外部web server,通过浏览器右边的设置按钮-》internet选项-》局域网设置-》输入ip和端口,确定

 

 

 

再次访问外部web serve

 

Squid会生成一些日志文件在/var/log/squid/目录下,其中Squid.out错误日志,store.log访问日志,cache.log缓存日志
 

 

Cat /varlog/httpd/access_log    //查看日志,看到代理服务器的ip

 

内网客户机IP:192.168.10.2 
Squid服务器IP:192.168.10.1 内网ip,200.168.10.1 外网ip
Web服务器IP:200.168.10.2

 

1、          配置实验环境,ping通。这里内部的pc机需要制定网关192.168.10.1才行。

2、修改配置文件,Transparent是透明的意思,开启透明。

 

3、增加iptables规则。“iptables –t nat –A PREROUTING –I eth0 –s 192.168.10.0、24 –p tcp –dport 80 –j REDIRECT –to 3128

Iptables规则解析:-t使用地址转换技术,-A prerouting是通过这条链,-i eth0进入的接口,-s来自的源,-p tcp协议,-dport目的端口,-j重定向 --to重定向到3128端口。
总的意思就是通过地址转换技术,通过prerouting通道,对于来自eth0的访客,源地址是192.168.10.0的子网的ip,访问目的端口是80的服务,我们重定向到3128端口,交给squid来代理。

 

4、测试。直接测试即可,不需要配置客户端。

 

外部客户机 IP 200.168.10.2 
Squid 服务器 IP 192.168.10.1  内网 ip 200.168.10.1  外网 ip
Web 服务器 IP 192.168.10.2

 

1、          配置网络环境,并可以ping通。这一次squid服务器外网使用vm1网卡,内网使用vm2网卡,web server使用vm2网卡。

2、          修改squid配置文件。

因为我们squid代理服务器没开启80端口,我们先虚拟一个80端口,这样外部的访问才不会被拒 绝。它内部服务可以实现集群的功能。并且squid服务器对于外网应该都是allow。

 

3、测试,访问代理服务器200.168.10.1,自动定向到内部的服务器。

 

实验四:配置squid反向代理虚拟主机
外部客户机IP:200.168.10.2 
Squid服务器IP:192.168.10.1 内网ip,200.168.10.1 外网ip
Web服务器IP:192.168.10.2
虚拟主机,就是一个web server架设多个域名的网站,实现一机多用。

1、          配置网络环境,可以ping通。

2、          修改squid配置文件。

配置文件,我们分别制定两个目的,指定网站名之后,并且允许所有外部ip的访问。

 

 

3、          配置虚拟主机

Vi /usr/local/apache/etc/httpd.conf 修改配置文件,然后到各自的网站目录建立不同的主页文件。

 

4、          修改pc机的hosts文件。

5、          访问测试,即可达到不同的域名访问到不同的网站。

我们可以通过tree 00(目录名)来查看某个缓存池里的缓存情况,可以查看到都是静态内容。Squid功能不仅有代理还有集群功能,所以越来越受到欢迎。

 

 

 

 



本文转自zsaisai 51CTO博客,原文链接:http://blog.51cto.com/3402313/966551

相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
3天前
|
JavaScript 搜索推荐 前端开发
理解服务器端渲染(SSR):提高网页性能与SEO的秘籍
理解服务器端渲染(SSR):提高网页性能与SEO的秘籍
|
5天前
|
设计模式 Java API
Java 可扩展 API 设计:打造灵活的应用架构
【4月更文挑战第27天】设计可扩展的 API 是构建灵活、易于维护的应用程序架构的关键。Java 提供了丰富的工具和技术来实现这一目标,使开发者能够构建具有高度可扩展性的应用程序。
44 4
|
5天前
|
存储 弹性计算 安全
阿里云服务器计算型c8i实例最新收费标准与性能介绍
阿里云ECS计算型c8i服务器采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。ECS计算型c8i实例支持开启或关闭超线程配置,单台c8i实例最高支持100万IOPS。阿里云ECS计算型c8i实例CPU采用Intel®Xeon®Emerald Rapids或者Intel®Xeon®Sapphire Rapids,主频不低于2.7 GHz,全核睿频3.2GHz。本文为大家介绍计算型c8i实例最新收费标准及性能。
阿里云服务器计算型c8i实例最新收费标准与性能介绍
|
5天前
|
敏捷开发 监控 API
构建高效可扩展的微服务架构
【5月更文挑战第15天】随着现代软件开发的复杂性日益增加,微服务架构已成为实现灵活、可维护和可扩展系统的关键方法。本文将探讨如何构建一个高效的微服务架构,包括关键的设计原则、技术选型以及常见的挑战和解决方案。通过实际案例分析,我们将展示如何利用容器化、服务网格和API网关等技术来优化服务的部署、管理和通信。
|
5天前
|
自然语言处理
LLM上下文窗口突破200万!无需架构变化+复杂微调,轻松扩展8倍
【5月更文挑战第12天】LongRoPE研究突破LLM上下文窗口限制,无需架构变更和复杂微调,实现8倍扩展至2048万个token。该方法利用位置嵌入非均匀性,通过高效搜索和优化初始化,适用于处理长文本任务,对模型性能影响小。但可能需要较多计算资源,且2048万的长度是否足够所有任务尚待探讨。[论文链接](https://arxiv.org/abs/2402.13753)
7 1
|
5天前
|
存储 编解码 安全
阿里云服务器计算型、通用型、内存型主要实例性能及选择参考
在阿里云的活动中,属于计算型实例规格的云服务器主要有计算型c7、计算型c7a、计算型c8a、计算型c8y、计算型c8i这几个实例规格,属于通用型实例规格的云服务器有通用型g7、通用型g7a、通用型g8a、通用型g8y、通用型g8i,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y、内存型r8i等实例。不同实例规格的云服务器在架构、计算、存储、网络、安全等方面有着不同,因此,其适用场景也有所不同。本文来详细介绍一下阿里云服务器计算型、通用型、内存型主要实例计算、存储等性能及其适用场景,以供参考。
阿里云服务器计算型、通用型、内存型主要实例性能及选择参考
|
5天前
|
存储 弹性计算 监控
探索阿里云弹性计算:如何优化云服务器ECS的性能与成本
在云时代,【阿里云ECS】的性能优化与成本控制至关重要。利用实例规格选择、自动伸缩、网络和存储配置,可增强性能、减少成本。结合监控工具和优化建议,用户能解决性能问题,提升应用稳定性,实现高效且经济的云计算运营。
29 1
|
5天前
|
JavaScript 前端开发 搜索推荐
Vue 的服务器端渲染(SSR)和客户端渲染(CSR)在渲染过程、性能、用户体验等方面都存在显著的区别
【5月更文挑战第8天】Vue 的 SSR 和 CSR 在渲染上有明显差异。SSR 服务器端生成 HTML 返回给浏览器,提供更快首屏加载和更好的 SEO,但增加服务器负担。CSR 客户端渲染,首次加载可能较慢,但交互更流畅,开发更简单。两者各有优劣,需根据项目需求权衡选择。
14 2
|
5天前
|
监控 安全 Cloud Native
云计算架构设计与实施:构建高效、可扩展的云解决方案
【4月更文挑战第30天】本文探讨了云计算架构的关键要素,包括服务模型(IaaS, PaaS, SaaS)、部署模型(公有云、私有云、混合云)及可扩展性、安全性、可靠性和成本效益。实施策略涉及需求分析、选择云服务商、设计基础设施、自动化、监控和灾备计划。最佳实践推荐模块化设计、微服务、DevOps、CI/CD、多租户支持和云原生应用,以确保高效、安全且成本优化的云环境。
|
5天前
|
存储 弹性计算 运维
深度解读:阿里云服务器ECS经济型e实例配置整理和性能参数表
阿里云推出经济型ECS e系列服务器,适用于个人开发者、学生和小微企业。该系列采用Intel Xeon Platinum处理器,支持多种CPU内存配比,性价比高,2核2G3M配置只需99元/年,新老用户不限量购买且续费不涨价。提供相同可用性SLA和安全标准,具备ESSD Entry云盘等企业级特性。适合中小型网站、开发测试和轻量级应用

热门文章

最新文章