用squid3.0搭建透明代理服务器

作者:网络医生 发布于:2011-5-30 11:08 Monday 分类:Linux技术

     透明代理除了为内网计算机提供外网的访问服务外,它最大的特点是不需要客户端做任何设置,但是需要路由器或防火墙的配合。用传统代理上网时需要在浏览器上做代理设置很不方便。

     今天介绍在局域网中如何使用透明代理服务器提高上网速度。如下图:局域网中的代理服务器把经常访问的网站内容和图片都缓存到了服务器上,下次用户再访问时就不需要通过外网获取了,直接从透明代理服务器上获取,不仅节约了网络带宽也提高了网站的访问速度。

点击查看原图

  如何下载安装,请参考 http://www.num123.com/post/85

配置文件如下:

##################  基本信息配置 ##################
#设置代理服务器名称
visible_hostname WebCacheProxy
#设置缓存服务器管理员邮箱
cache_mgr mail@num123.com
#设置运行squid的用户和组
cache_effective_user squid
cache_effective_group squid
#################缓存相关参数设置################
#设置缓存内存大小,最大使用内存为100M,大小约为物理内存的1/3,当使用超过95%时开始对缓存进行替换,直到下降到90%后停止。
cache_mem 100 MB     
cache_swap_low 90
cache_swap_high 95
#设置磁盘中可缓存的最大文件大小
maximum_object_size 12000 KB
#设置内存中最大可缓存的最大文件大小
maximum_object_size_in_memory 1024 KB
#设置缓存文件夹的路径和参数,10000表示10G大小,目录下面分为16级,每级又有256个目录
cache_dir ufs /home/squidcache 10000 16 256
#设置缓存日志文件路径
cache_access_log /home/squidlogs/access.log
cache_log /home/squidlogs/cache.log
cache_store_log /home/squidlogs/store.log
###########透明代理相关设置#################################
#设置透明代理服务器监听的端口为8088,transparent这个参数必须加上
http_port 8088 transparent
http_access allow all

   在代理服务器上执行以下命令使所有TCP协议的数据包都重定向到代理服务器的8088端口(注:如果把所有端口都进行重定向将会影响到SSH所使用的22端口,请慎用 ),让代理服务器来代理上网。如果只指定把80端口的数据包重定向到透明代理服务器的8088端口那么QQ等其它服务无法使用。

[root@linux ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp  -j REDIRECT --to-port 8088

用户端配置注意事项:

1、用户的电脑网关需要设置成透明代理服务器的IP,用户把所有的数据包都发给代理服务器来处理。

2、用户电脑的DNS必须能正常解析域名。由于我们的透明代理服务器是在局域网中放置而不是在总出口放置,所以用户把网关改为透明代理的IP之后DNS是无法正常解析的,我们可以让DNS的IP地址不通过透明代理服务器,直接从正常的网关出去就可以解决这个问题了。在windows下配置只需执行一个命令就可以了

C:\>route add 202.102.224.68 mask 255.255.255.255 192.168.1.1

上面命令中的202.102.224.68是DNS服务器的IP地址。

标签: squid 代理 transparent squid3.0 Web缓存 透明代理

发表评论:

  • 9
  • 1
  • 3
  • 2
  • 6

Powered by emlog