设为首页 收藏本站
查看: 1123|回复: 0

[经验分享] linux中squid的配置

[复制链接]

尚未签到

发表于 2018-12-27 12:45:23 | 显示全部楼层 |阅读模式
  Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务 器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络 安全,到局域网通过代理上网。Squid主要设计用于在Unix和Linux一类系统运行。
  有关代理服务器,主要有以下几个特点:
  应用层代理
  1、针对特定的网络协议进行代理
  2、典型应用:HTTP代理和FTP代理
  代理服务器作用
  1、局域网内主机可以通过网内可以访问的主机去访问外网
  2、可以提供缓存,提高访问效率
  3、可以实现一定程度的访问控制
  squid服务具有的功能
  1、提供HTTP和FTP协议的代理
  2、缓存代理内容,提高访问速度
  3、对客户机进行访问控制(基于目标地址或时间)
  squid代理类型
  正向代理:为客户端提供代理服务,需要客户端指定IP
  反向代理:为服务器提供代理服务,目的为了减轻真实服务器负担
  透明代理:特殊的正向代理,不需要客户端做任何设置,代理服务器必须是网关,就相当于路由器和防火墙
  squid代理服务器默认端口为3128,这个端口号可以更改,比如更改为公网中常用的8080端口。我们按照下面这个例子来验证
  一、正向代理服务器配置
  在这个例子中,RHEL-B是网关,连接着外网;Windows PC是内网主机,网关指向RHEL-B,其中RHEL-B只允许RHEL-C做NAT转换,也就是说在默认情况下,Windows PC是不能访问外网的,只有RHEL-C可以访问外网。在这里,我们要通过将RHEL-C设置为代理服务器,使得Windows PC能够访问外网。

  首先查看RHEL-C的squid有没有安装(系统默认已装)
  rpm -q squid
  进入squid配置文件
  vi /etc/squid/squid.conf
  搜索http_port 3128,将3128端口号改为8080

  搜索acl our_networks,定义acl,名称our_networks,设为允许,将源地址改为主机所在的网段192.168.10.0/24。否则默认只允许本地回环口访问。

  保存后退出,然后启动squid。在启动之前,必须保证squid有完整的域名
  vi /etc/hosts

  接下来对squid服务器进行初始化,目的是在squid服务器工作目录中建立缓存子目录。
  squid -z
  查看squid子目录,可以发现多了16个子目录

  *****************************************************
  squid子目录大小涉及到squid服务器性能问题,默认情况下一级子目录16个,二级子目录256个。可以在squid.conf中修改每个目录容量大小:
  cache_dir ufs /var/spool/squid 100 16 256
  其中/var/spool/squid代表工作路径,目录最大容量100M,一级子目录16个,二级子目录256个。
  另外可以修改缓冲内存大小,建议设置为物理内存三分之一,例:
  chche_mem 8 MB
  *****************************************************
  开启squid服务
  service squid start
  查看8080端口是否开启

  这时回到windows主机上,设置IE浏览器的“internet选项”-“连接”-“局域网设置”,将代理服务器IP和端口填进去

  这时候访问外网地址http://198.2.3.1,就可以成功访问了(模拟外网的linux主机要记得开启httpd服务)。

  二、透明代理服务器配置
  前面有说过,透明代理只能在网关上配置。因此这次需要修改RHEL-B的squid.conf文件。先将RHEL-B原先的NAT删除,使得windows PC和RHEL-B均不能访问外网,仍然引用之前那个拓扑:

  和之前一样,首先修改允许访问的网段

  找到http端口号位置,在后面加个transparent,就代表代理服务器时以透明模式运行的。

  接下来对squid服务器进行初始化
  squid -z
  重启squid服务

  service squid>  查看3128端口有没有开启
  netstat -ntl

  访问外网地址
  http://198.2.3.1
  ,就可以成功访问了(注意清空之前的cookie,而且网关的httpd服务不能开启,否则80端口会被占用)。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-656490-1-1.html 上篇帖子: 利用nginx的url_hash提高squid的缓存效率 下篇帖子: 监控Squid的开源工具MySAR-fairexchange
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表