CentOS中怎么部署Squid代理服务
CentOS中怎么部署Squid代理服务
这篇文章主要介绍“CentOS中怎么部署Squid代理服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CentOS中怎么部署Squid代理服务”文章能帮助大家解决问题。
Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。
系统环境
操作系统:CentOS release 6.5 Squid版本:squid-3.1.10-20.el6_5.3.x86_64 关闭httpd 关闭防火墙
安装Squid服务
检查squid软件是否安装
#rpm-qa|grepsquid
如果未安装,则使用yum 方式安装
#yum-yinstallsquid
设置开机自启动
#chkconfig--level35squidon//在3、5级别上自动运行squid服务
squid服务器的配置文件说明
squid 的主配置文件是 /etc/squid/squid.conf,所有squid的设定都是在这个文件里配置,下面是一些常用的配置选项。
http_port3128//设置监听的IP与端口号cache_mem64MB//额外提供给squid使用的内存,squid的内存总占用为X*10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),//比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。maximum_object_size4MB//设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘minimum_object_size0KB//设置squid磁盘缓存最小文件maximum_object_size_in_memory4096KB//设置squid内存缓存最大文件,超过4M的文件不保存到内存cache_dirufs/var/spool/squid10016256//定义squid的cache存放路径、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量logformatcombined%>a%ui%un[%tl]"%rm%ruHTTP/%rv"%Hs%h""%{User-Agent}>h"%Ss:%Sh//log文件日志格式access_log/var/log/squid/access.logcombined//log文件存放路径和日志格式cache_log/var/log/squid/cache.log//设置缓存日志logfile_rotate60//log轮循60天cache_swap_high95//cache目录使用量大于95%时,开始清理旧的cachecache_swap_low90//cache目录清理到90%时停止。acllocalnetsrc192.168.1.0/24//定义本地网段http_accessallowlocalnet//允许本地网段使用http_accessdenyall//拒绝所有visible_hostnamesquid.david.dev//主机名cache_mgrexample@test.com//管理员邮箱
普通代理服务
即标准的、传统的代理服务,需要客户机在浏览器中指定代理服务器的地址、端口。 实验拓扑图如下:
配置Squid 代理服务器IP地址
将eth2的IP地址修改为200.168.10.1
#ifconfigeth2200.168.10.1
编辑squid 主配置文件/etc/squid/squid.conf
http_port3128cache_mem64MBmaximum_object_size4MBcache_dirufs/var/spool/squid10016256access_log/var/log/squid/access.logacllocalnetsrc192.168.1.0/24http_accessallowlocalnethttp_accessdenyallvisible_hostnamesquid.david.devcache_mgrmchina_tang@qq.com
初始化
#squid-z
启动Squid
#/etc/init.d/squidstart
配置Web 服务器
A. 安装Apache
#rpm-qa|grephttpd#yum-yinstallhttpd
B. 启动Apache并加入开机启动
#/etc/init.d/httpdstart#chkconfighttpdon
C. 创建index.html
#echo"Squid-Web1/200.168.10.2">/var/www/html/index.html
D. 修改Web服务器IP地址 将web服务器的IP地址修改为200.168.10.2
#ifconfigeth0200.168.10.2
配置客户端IP地址
配置浏览器代理
打开浏览器(以IE为例,其他类似),菜单栏 -> 工具 -> Internet 选项 -> 连接 -> 局域网设置 -> 代理服务器,按照以下格式设置。
测试
透明代理服务
适用于企业的网关主机,客户机不需要指定代理服务器地址、端口等信息,通过iptables将客户机的Web访问数据转交给代理服务程序处理。 实验拓扑图如下:
修改squid 主配置文件/etc/squid/squid.conf
http_port3128transparentcache_mem64MBmaximum_object_size4MBcache_dirufs/var/spool/squid10016256access_log/var/log/squid/access.logacllocalnetsrc192.168.1.0/24http_accessallowlocalnethttp_accessdenyallvisible_hostnamesquid.david.devcache_mgrmchina_tang@qq.com
在http_port 3128 后添加transparent 关键字。
reload
reload 让上面的配置生效。
#/etc/init.d/squidreload
添加iptables规则,把内部的http请求重定向到3128端口
A. 启动iptables 服务
#/etc/init.d/iptablesstart
B. 清除现有iptables filter 表规则
#iptables-F
C. 保存iptables 设置
#/etc/init.d/iptablessave
D. 在nat表中新增一条规则
#iptables-tnat-IPREROUTING-ieth0-s192.168.1.0/24-ptcp--dport80-jREDIRECT--to-port3128
E. 保存
#/etc/init.d/iptablessave
修改客户端IP地址
将默认网关设置为squid 服务器的内网ip地址。
在浏览器中,取消代理设置
反向代理服务
为Internet用户访问企业Web站点提供缓存加速。 实验拓扑:
关闭防火墙
#/etc/init.d/iptablesstop
修改Web Server 主页
Web1:#echo"Squid-Web1/192.168.1.18">/var/www/html/index.htmlWeb2:#echo"Squid-Web1/192.168.1.19">/var/www/html/index.html
配置squid
http_port80accelvhosthttp_accessallowallcache_peer192.168.1.18parent800originserverround-robinweight=1cache_peer192.168.1.19parent800originserverround-robinweight=1visible_hostnamesquid.david.devcache_mgrmchina_tang@qq.com
启动Squid服务
squid启动失败,因为上面设定了squid的监听端口是80,和系统的http服务冲突,所以要将http服务停掉,然后再启动squid。
测试
squid 采用了round-robin,所以客户端的访问将轮询两台web服务器,采用 “Ctrl + F5” 来深度刷新测试。
Web1:
Web2:
关于“CentOS中怎么部署Squid代理服务”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注恰卡编程网行业资讯频道,小编每天都会为大家更新不同的知识点。
推荐阅读
-
linux Centos如何安装PHP7
linuxCentos如何安装PHP7今天小编给大家分享一下li...
-
从7到8,CentOS又更新了什么
-
Centos7安装和搭建Apache+PHP+Mysql环境和常见问题处理(一)
-
如何在CentOS 8上安装PHP 7.4
-
CentOS8 安装数据库管理工具之phpMyAdmin5.1.1
-
CentOS 8 安裝LNMP
-
如何在RHEL8或CentOS8上安装最新的PHP版本?
-
MyWebSQL是mysql图形操作界面吗?CentOS8如何安装它?
-
CentOS和RedHat下8个最常用的YUM库
-
如何在CentOS 7上安装和使用Docker Compose