使用Squid部署代理缓存服务.docx

上传人:b****4 文档编号:1382076 上传时间:2022-10-21 格式:DOCX 页数:13 大小:1.64MB
下载 相关 举报
使用Squid部署代理缓存服务.docx_第1页
第1页 / 共13页
使用Squid部署代理缓存服务.docx_第2页
第2页 / 共13页
使用Squid部署代理缓存服务.docx_第3页
第3页 / 共13页
使用Squid部署代理缓存服务.docx_第4页
第4页 / 共13页
使用Squid部署代理缓存服务.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

使用Squid部署代理缓存服务.docx

《使用Squid部署代理缓存服务.docx》由会员分享,可在线阅读,更多相关《使用Squid部署代理缓存服务.docx(13页珍藏版)》请在冰豆网上搜索。

使用Squid部署代理缓存服务.docx

使用Squid部署代理缓存服务

第16章使用Squid部署代理缓存服务。

16.1代理缓存服务

Squid服务程序是一款在类Unix系统中最为流行的高性能代理服务软件,通常会被当作网站的前置缓存服务,用于替代用户向网站服务器请求页面数据并进行缓存,通俗来讲,Squid服务程序会接收用户的请求,然后自动去下载指定数据(如网页)并存储在服务器内,当以后的用户再来请求相同数据时,则直接将刚刚储存在服务器本地的数据交给用户,减少了用户的等待时间。

Squid服务程序配置起来相对简单,效率高、支持如HTTP、FTP、SSL等多种协议的数据缓存,还支持基于ACL访问控制列表和ARL访问权限列表功能的内容过滤与权限管理功能,禁止用户访问存在威胁或不适宜的网站资源,保证内网安全的同时还整体的提高了客户机的访问速度,帮助节省网络带宽,尤其适合安装在内存大、硬盘转速快的服务器上。

从作用上分为正向代理和反向代理:

正向代理让用户可以通过Squid服务程序获取网站页面等数据,具体工作形式又分为标准代理模式与透明代理模式。

标准正向代理模式:

将网站的数据缓存在服务器本地,提高数据资源被再次访问时的效率,但用户必需在上网时指定代理服务器的IP地址与端口号,否则将不使用Squid服务。

透明正向代理模式:

功能作用与标准正向代理模式完全相同,但用户不需要指定代理服务器的IP地址与端口号,所以这种代理服务对于用户来讲是完全透明的。

反向代理则是为了降低网站服务器负载而设计的,反向代理服务器负责回应用户对原始网站服务器的静态页面请求,即如果反向代理服务器中正巧有用户要访问的静态资源则直接将缓存的内容发送给用户,减少了对原始服务器的部分数据资源请求。

所以对于正向代理一般用于企业的局域网内,让员工通过Squid服务程序来代理上网,不但能节省网络带宽资源还能限制访问的页面,而反向代理则大多搭建在网站架构中,用于缓存网站的静态数据(如图片、HTML静态网页、JS、CSS框架文件等)。

16.2配置Squid服务程序

本小节将为大家演示如何部署Squid服务的正向代理与反向代理,首先我们需要再添加一块网卡设备(桥接模式):

按照下面的表单配置IP地址:

主机名称

操作系统

IP地址

服务端

红帽RHEL7操作系统

外网卡:

桥接DHCP模式

内网卡:

192.168.10.10

用户端

微软Windows7操作系统

192.168.10.20

测试是否能够访问互联网:

[root@njxhDesktop]#ping

PING(162.159.211.33)56(84)bytesofdata.

64bytesfrom162.159.211.33:

icmp_seq=1ttl=45time=166ms

64bytesfrom162.159.211.33:

icmp_seq=2ttl=45time=168ms

64bytesfrom162.159.211.33:

icmp_seq=3ttl=45time=167ms

64bytesfrom162.159.211.33:

icmp_seq=4ttl=45time=166ms

^C

---pingstatistics---

4packetstransmitted,4received,0%packetloss,time3006ms

rttmin/avg/max/mdev=166.361/167.039/168.109/0.836ms

安装squid服务程序:

[root@njxh~]#yuminstallsquid

Loadedplugins:

langpacks,product-id,subscription-manager

………………省略部分安装过程………………

Installing:

squidx86_647:

3.3.8-11.el7rhel72.6M

Installingfordependencies:

libecapx86_640.2.0-8.el7rhel720k

perl-Compress-Raw-Bzip2x86_642.061-3.el7rhel732k

perl-Compress-Raw-Zlibx86_641:

2.061-4.el7rhel757k

perl-DBIx86_641.627-4.el7rhel7802k

perl-Data-Dumperx86_642.145-3.el7rhel747k

perl-Digestnoarch1.17-245.el7rhel723k

perl-Digest-MD5x86_642.52-3.el7rhel730k

perl-IO-Compressnoarch2.061-2.el7rhel7260k

perl-Net-Daemonnoarch0.48-5.el7rhel751k

perl-PlRPCnoarch0.2020-14.el7rhel736k

………………省略部分安装过程………………

Complete!

先别着急配置哦!

我们先来了解下squid服务程序的主要文件吧:

主服务程序

/usr/sbin/squid

配置文件目录

/etc/squid

主配置文件

/etc/squid/squid.conf

访问日志文件

/var/log/squid/access.log

缓存日志文件

/var/log/squid/cache.log

而squid服务程序中常用的参数有:

参数

作用

http_port3128

监听的端口号。

cache_mem64M

内存缓冲区的大小。

cache_dirufs/var/spool/squid200016256

硬盘缓冲区的大小。

cache_effective_usersquid

设置缓存的有效用户。

cache_effective_groupsquid

设置缓存的有效用户组。

dns_nameserversIP地址

一般不设置,用服务器默认的DNS地址。

cache_access_log/var/log/squid/access.log

访问日志文件的保存路径。

cache_log/var/log/squid/cache.log

缓存日志文件的保存路径。

visible_hostname

设置Squid服务主机的名称。

启动squid服务程序并加入到开机启动项:

[root@njxh~]#systemctlrestartsquid

[root@njxh~]#systemctlenablesquid

ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.target.wants/squid.service'

16.2.1标准正向代理

当Squid服务程序顺利启动后,默认即可使用标准正向代理模式啦,在Windows7系统中打开浏览器后依次点击:

在网络选项中点击“连接”→“局域网设置”:

填写Squid服务器的IP地址与端口号

尝试访问网站:

Squid服务程序默认会占用3128、3401与4827端口,我们也可以将端口号修改为其他的哦,编辑配置文件(修改第59行):

[root@njxh~]#vim/etc/squid/squid.conf

http_port10000

使用setsebool命令来限制squid服务只能使用自定义的端口号:

[root@njxh~]#setsebool-Psquid_connect_any0

查看当前SElinux允许的服务端口:

[root@njxh~]#semanageport-l|grep-w-isquid_port_t

squid_port_ttcp3128,3401,4827

squid_port_tudp3401,4827

添加SELinux对10000端口的允许策略:

[root@njxh~]#semanageport-a-tsquid_port_t-ptcp10000

[root@njxh~]#semanageport-l|grep-w-isquid_port_t

squid_port_ttcp10000,3128,3401,4827

squid_port_tudp3401,4827

重启squid服务程序后即可生效:

[root@njxh~]#systemctlrestartsquid

16.2.2透明正向代理

如果要想实现透明正向代理,则必需将用户的网关IP指向Squid服务器,而此后便无需再修改浏览器选项:

尝试访问网站失败:

在命令提示符中ping下域名:

C:

\Users\njxh>ping

Ping请求找不到主机。

请检查该名称,然后重试。

原来Squid服务程序是不支持DNS解析代理的,这个就需要配置SNAT啦。

如果忘记SNAT技术了,没关系,回去再看下防火墙的章节吧,-o参数后面写外网出口的网卡名称:

[root@njxh~]#iptables-tnat-APOSTROUTING-pudp--dport53-oeno33554968-jMASQUERADE

开启Ipv4的转发策略:

[root@njxh~]#echo"net.ipv4.ip_forward=1">>/etc/sysctl.conf

[root@njxh~]#sysctl-p

net.ipv4.ip_forward=1

再次尝试Ping下网站域名:

C:

\Users\njxh>ping

正在Ping[116.31.127.233]具有32字节的数据:

请求超时。

请求超时。

请求超时。

请求超时。

116.31.127.233的Ping统计信息:

数据包:

已发送=4,已接收=0,丢失=4(100%丢失),

不错哦~现在DNS已经能够正常工作啦,来配置透明正向代理吧,编辑配置文件:

[root@njxh~]#vim/etc/squid/squid.conf

//在第59行后面添加参数transparent

http_port3128transparent

判断配置文件是否有错误(会有很多输出值):

[root@njxh~]#squid-kparse

重新启动squid服务程序:

[root@njxh~]#systemctlrestartsquid

将用户对80端口的请求转发至3128端口:

[root@njxh~]#iptables-tnat-APREROUTING-ptcp--dport80-jREDIRECT--to-port3128

[root@njxh~]#iptables-tnat-RPREROUTING1-ieno33554968-ptcp--dport80-jREDIRE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1