使用squid加快内网网页浏览速度

来源:岁月联盟 编辑:zhu 时间:2008-01-18
使用squid加快内网网页浏览速度内容简介:【FreeBSD教程】 同事们总是抱怨上国外网站速度很慢,半天网页都打不开,于是使用squid和ipfilter实现透明代理,为他们提供缓存功能。 @ 安装squid 为了偷懒就直接使用ports安装,因为我将所有的服务器系统都安

  【FreeBSD教程】同事们总是抱怨上国外网站速度很慢,半天网页都打不开,于是使用squid和ipfilter实现透明代理,为他们提供缓存功能。

  @ 安装squid
  为了偷懒就直接使用ports安装,因为我将所有的服务器系统都安装在/s分区中,所以设置了PREFIX为/s/squid
  # cd /usr/ports/www/squid
  # setenv PREFIX /s/squid
  # make install clean
  

  安装完成后编辑/s/squid/etc/squid/squid.conf,我的配置内容如下:
  
  ########## Base control ##########
  cache_mgr webmaster
  cache_effective_user squid
  cache_effective_group squid
  visible_hostname sleepcat.3322.org
  http_port 127.0.0.1:3128
  icp_port 0
  cache_dir ufs /usr/cache 300 16 256
  cache_access_log /dev/null
  cache_log /dev/null
  cache_store_log /dev/null
  error_directory /s/squid/etc/squid/errors/Simplify_Chinese
  icon_directory /s/squid/etc/squid/icons
  mime_table /s/squid/etc/squid/mime.conf
  coredump_dir /s/squid/squid/cache
  pid_filename /s/squid/squid/logs/squid.pid
  hosts_file /etc/hosts
  unlinkd_program /s/squid/libexec/squid/unlinkd

  ########## Performance control ##########
  cache_mem 8 MB
  cache_swap_low 90
  cache_swap_high 95
  maximum_object_size 4096 KB
  minimum_object_size 0 KB
  maximum_object_size_in_memory 8 KB
  ipcache_size 1024
  ipcache_low 90
  ipcache_high 95
  fqdncache_size 1024
  cache_replacement_policy lru
  memory_replacement_policy lru
  emulate_httpd_log off
  log_ip_on_direct on
  log_mime_hdrs off
  dns_timeout 2 minutes
  request_header_max_size 10 KB
  request_body_max_size 0 KB
  refresh_pattern ^ftp: 1440 20% 10080
  refresh_pattern ^gopher: 1440 0% 1440
  refresh_pattern . 0 20% 4320
  negative_ttl 5 minutes
  positive_dns_ttl 6 hours
  negative_dns_ttl 1 minute
  connect_timeout 1 minute
  read_timeout 15 minutes
  request_timeout 5 minutes
  client_lifetime 1 day
  half_closed_clients on
  maximum_single_addr_tries 1
  uri_whitespace strip
  ie_refresh off

  ########## Access control ############
  acl all src 0.0.0.0/0.0.0.0
  http_access allow all
  http_reply_access allow all
  hierarchy_stoplist cgi-bin ?

  ########## Accelator control ############
  httpd_accel_host virtual
  httpd_accel_port 80
  httpd_accel_with_proxy on
  httpd_accel_uses_host_header on

  ########## Misc control ###########
  ftp_user Squid@
  ftp_list_width 32
  ftp_passive on
  ftp_sanitycheck on
  
  

  初始化cache
  # /s/squid/sbin/squid -z

  启动squid
  # /s/squid/etc/rc.d/squid.sh start

  @ 设置ipfilter
  为了实现透明的功能,需要将所有对80端口的请求转到squid的3128端口上,以实现对客户端透明的功能。在/etc/ipnat.rules中加入:
  rdr fxp1 0.0.0.0/0 port 80 -> 127.0.0.1 3128
  
  刷新ipnat配置:
  # ipnat -Cf /etc/ipnat.rules
  

  一切完成,客户端无需任何设置,根本感觉不到代理的存在,而且访问速度明显变快。

图片内容