1. 缓存服务器方案的提出主要是能满足节省企业出口线路带宽,给用户带来更高速的web页面访问速度。
2. 根据我们内网的结构需求制定适合我们企业网内合适的用户方案。
3. 根据目前网络的结构背景,结构如下:
   
4. Squid 版本2.6与2.5存在不少区别,所以二者在配置上有所差异,尤其在透明代理上的配置上。关于两个软件的下载和安装方法,网上已经有许多文章了,请根据自己的发行版本搜索查看,本文主要写如何配置以实现透明代理+缓存。
5. 
配置iptables,实现NAT,关于iptables作为防火墙使用的安全配置,不是本文的重点。
#首先加载模块
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe -ip_conntrack
modprobe -ip_conntrack_ftp
modprobe -ip_conntrack_irc
#清空旧有配置
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -Z -t nat
#设置默认策略
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCETP
echo "1" > /proc/sys/net/ipv4/ip_forward #启用iptbles的数据转发功能,重点步骤一!!
echo "1" > /proc/sys/net/ipv4/tcp_syncookies #安全措施,防syn攻击

6. iptables -t nat -A PREROUTING -s 0.0.0.0/0 -p tcp --dport 80 -j DNAT –to代理服务器IP:3128 #端口重定向,实现透明代理的重点步骤一,有了这一步,客户端就不必设置代理了,服务器根据用户请求目标端口为80,则自动重定向到3128,交由squid处理,由此实现了http代理;同理,根据Squid的协议支持情况,也可设置ftp代理等。

7. iptables -t nat -A POSTROUTING -s 0.0.0.0/24 –d 代理服务器IP -j MASQUERADE #实现SNAT,即源地址转换(也称为IP隐藏)执行了这句以后,内网用户无需设置代理,不过此时Squid还没有起作用。

8. 配置Squid.conf
一些基本的配置这里就不再赘述了,几个关键点讲下。
http_port 3128 transparent #配置Squid的监听端口,默认为3128,
#参数transparent是squid 2.6版本与先前旧版本一个比较重要的区别,是实现透明代理的重点步骤二,没有该参数则无法实现透明代理,将出现以下错误
9.  
10. 
cache_dir ufs /var/spool/squid 100 16 256 #设置缓存大小,一级目录、二级目录数量
cache_swap_low 90
cache_swap_high 95
access_log /var/log/squid/access.log #记录访问日志
cache_log /var/log/squid/cache.log #记录缓存日志
cache_store_log /var/log/squid/store.log
client_netmask 255.255.255.255

cache_mgr xin.xunzhao@gmail.com #设置管理员邮箱
cache_effective_user proxy #设置squid以proxy用户身份运行,这点涉及系统安全,具体参见“chroot技术或jail监禁、jail监牢 ”
cache_effective_group proxy #功能同上
visible_hostname squid_ubuntuXZ #设置主机名
coredump_dir /var/spool/squid

acl badurl1 dstdomain -i .qq.com
acl badclient src 192.168.33.20
acl our_networks src 192.168.33.0/24 #定义内网ip范围

http_access deny badclient #拒绝某些用户上网
http_access deny badurl1 #禁止用户访问某些网站
http_access allow our_networks #允许内网用户使用
http_access deny all #拒绝所有未定义动作

(四)其他功能扩展配置

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.51.55:80 #端口重定向
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.51.55:3389 #端口重定向
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 53 -j DNAT --to-destination 202.101.107.85:53 #端口重定向,本句起到智能DNS的作用
iptables -t filter -A INPUT -i eth1 -p icmp -j DROP #禁用icmp
iptables -t filter -A FORWARD -i eth0 -d 192.168.33.20/31 -j DROP #禁止IP为192.168.33.20的客户端上网
iptables -t filter -A FORWARD -d 58.60.9.246 -j DROP #禁止所有用户访问某IP
注意:iptables的配置会在每次系统重启后被还原,因此需要设定自动导入配置文件,在/etc/rc.local中添加相应命令即可,用户可以先用iptables-save导出当前配置,然后用文本编辑器配置好后,再用iptables-restore导入配置即可,如我设定的开机自动导入配置文件为iptables-restore < /var/lib/iptables/saved.cfg 。

当然,iptables 和Squid的功能还不只以上所述,关于其他方面的配置,还请关注网上的相关文章,我也将陆续整理一些自己使用中的经验笔记与大家分享,也欢迎大家批评指教,指出我文章中的缺点与不足,呵呵。
http_port 3128 transparent #红色部分是支持透明代理,这是squid新版本的改进。

具体实施步骤:
1. 测试web访问外网网站等,迅雷,BT, 电驴,超级旋风,下载都没有问题,web端口以目的端口80的走缓存服务器,其实等相关程序还是走三线。
2. 网络环境搭建,squid缓存服务器接入2812F旁的华为5000系列交换机上,第10口,用超6类直通线相连。
3. 各设备的具体配置如下
4. 10.0.1.1 服务器的配置 iptables -t nat -A PREROUTING -s 10.1.0.0/24 -p tcp --dport 80 -j DNAT –to 10.0.1.15:3128 #端口重定向,实现透明代理的重点步骤一,有了这一步,客户端就不必设置代理了,服务器根据用户请求目标端口为80,则自动重定向到3128,交由squid处理,由此实现了http代理;同理,根据Squid的协议支持情况,也可设置ftp代理等。
iptables -t nat -A POSTROUTING -s 10.1.0.0/24 –d 10.0.1.15 -j MASQUERADE 这一条加上主要是对squid服务器的访问做地址转换,如果不加入这一条路由不通,所以就无法直接把数据包路由到代理服务器上。
缓存服务器的配置:首先要保证缓存服务器能够正常上网,ip地址配置为10.0.1.15
网关配置为10.0.1.1 能够保证缓存服务器访问外网能正常通过3线出去访问。Squid.conf的具体配置,我在上面已经写的很清楚了,仔细看看就知道怎么配置了。
5. 单点故障解决方法,在31上面远程侦听缓存服务器的3128端口,如果缓存服务上的3128端口DOWN掉,远程执行删除10.0.1.1服务器上面的iptables -t nat –D PREROUTING -s 10.1.0.0/24 -p tcp --dport 80 -j DNAT –to 10.0.1.15:3128
iptables -t nat –D POSTROUTING -s 10.1.0.0/24 –d 10.0.1.15 -j MASQUERADE
       上面两条语句删除就可以了,然后所有的数据还是走三线,不会走缓存服务器了。
6. 静态/动态的缓存功能,缓存服务器一般只能缓存静态页面,而动态的页面是缓存不了的,动态的页面一般都是.asp开始的,目前我们主要是针对大型网站能够缓存到2及页面就能够满足我们的需求了,比如新浪,搜狐,中关村在线等。
7. 流量的节省和给用户带来的速度是否能满足我们的需求,要权衡方案给企业带来的性价比。
8. # cache_vary on
9. 难道我的配置文件是off不成?赶紧检查,发现还真是off,sign,原来就是这个问题折磨我,改成on,将Apache的Deflate配置启用,再观察内存对象,发现静态网页真的被缓存了!

转载于:https://www.cnblogs.com/youlechang123/archive/2011/12/17/2290877.html

Squid缓存服务器方案相关推荐

  1. 编程方式刷新Squid缓存服务器的五种方法

    网站进行内容更新是常有的事情,当被缓存的资源更新时,前端Squid 缓存服务器内容也必须要相应的更新,否则用户就可能会看到过期的数据.当没有程序支持时就需要每次登录到服务器上执行刷新操作,在服务器数量 ...

  2. squid缓存服务器

    squid缓存服务器 缓存概念 作为应用层的代理服务软件,squid主要提供缓存加速和应用层过滤控制功能 代理服务器 客户端向网站发送请求数据 (为了能承受更多的并发连接客户端访问先请求代理服务器听过 ...

  3. Squid缓存服务器和代理介绍

    squid的简单介绍 squid的概念 squid是一种用来缓存Internet数据的软件.接受来自人们需要下载的目标(object)的请求并适当的处理这些请求.也就是说,如果一个人想下载一web界面 ...

  4. Squid缓存服务器原理与实战演练

    Squid服务基础讲解 代理缓存机制: 代理的基本类型: 1. 传统代理:需要在客户端软件手动设置指定代理服务器 2. 透明代理:无需用户手动指定,通过路由.防火墙策略将访问重定向 Squid 反向代 ...

  5. 【squid缓存服务器】

    文章目录 一.Squid的简介 二.Squid工作模式 传统模式 透明模式 反向代理模式 三.Squid软件介绍 搭建Squid传统模式 搭建Squid透明模式 搭建Squid反向代理模式 四.Squ ...

  6. squid缓存服务器 ACL访问控制 传统代理 透明代理 squid日志分析 反向代理

    缓存代理概述 Squid提供了强大的代理控制机制,通过合理的设置ACL,并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等条件进行过滤. 作为应用层的代理服务器软件,Sqiod主要提 ...

  7. 搭建一个大型网站架构的实验环境(Squid缓存服务器篇)

    Squid是一个高性能的代理缓冲服务器,也许你已经用过Windows平台下的WinGate,MS Proxy Server等功能类似的产品.Squid是一个应用级代理,在保证客户端主机和服务器主机网络 ...

  8. 配置本地缓存服务器(一)

    配置本地缓存服务器(一) 绝大多数系统管理员都遇到过开发部门抱怨软件包下载慢,严重影响工作效率的问题.对此问题,系统管理员也很无奈,无论接入带宽是10M.100M还是1G光纤,都不能解决这个问题.原因 ...

  9. ROS 软路由配合squid WEB缓存服务器中实现行为管理

    公司使用的ROS 软路由 和Cisco 交换机,划分的Vlan网络,路由器是ROS,在部署行为管理时,只能用端口镜像,但效果,表现比较一般,不能过滤内容,且公司终端数据比较多,网络出口压力日渐增大,需 ...

  10. 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

    案例: Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入 访问用户:电信宽带用户.移动宽带用户 出现问题:电信用户打开www.abc.com正常,移动用户打 ...

最新文章

  1. 戴尔服务器远程访问管理卡iDRAC 7详解
  2. 灵魂拷问:后端业务开发要会用 K8s 到什么程度?
  3. php获取qzonetoken,QQ一键登录实现
  4. 深度学习- 激活函数总结(Sigmoid, Tanh, Relu, leaky Relu, PReLU, Maxout, ELU, Softmax,交叉熵函数)
  5. 从程序员到项目经理(六):程序员加油站 -- 懂电脑更要懂人脑
  6. shell编程之函数简单使用
  7. -lc++ 和 添加 libc++.tbd 居然是等价的
  8. 开机时提示F1continue, F2 setup
  9. GB28181协议简介及实践
  10. 数据库无限层级分类设计
  11. java对称矩阵_对称矩阵与压缩存储算法(java实现)
  12. Matlab如何设置图中坐标以10的次方显示
  13. 关于STM32的IAP超详细图文解说
  14. Windows 7 查看默认的本地 DNS 服务器地址
  15. ionic学习(十一):页面下拉刷新(Refresher)
  16. 使用LIS2DH12三轴加速度传感器检测震动与倾斜角度
  17. 马斯克被指性骚扰空姐,已支付170万封口费,马一龙:这是他们卑鄙的剧本!...
  18. 计算机网络 万维网的文档
  19. 拓扑排序 by zyz on 2021/4/11
  20. java用mysql方便吗_面试题总结:可能是全网最好的MySQL重要知识点

热门文章

  1. C# string byte[] 转换
  2. C#版 Tag云图控件
  3. 终于实现了 SpringBoot+WebSocket实时监控异常....
  4. 微信开始收费,一年130元起!?
  5. 面试官:你的缺点是什么?这样回答漂亮!
  6. 史上最便捷搭建RocketMQ服务器的方法
  7. Facebook反垃圾实践:人工治理与机器算法齐飞
  8. 初创公司技术架构推荐
  9. 蚂蚁金服CTO程立:金融级分布式交易的技术路径
  10. python 修改文件属性_Python实现在Windows平台修改文件属性