项目测试之Squid代理服务器

项目测试之Squid代理服务器

测试人员:Tom Yan 测试时间:2011-11-07  QQ59487626 QQ群:120589528

一、项目目标

       1.使用Squid软件来实现代理上网功能

       2.实现透明代理

二、软件版本

       操作系统版本:RHEL61 x86-64Bit

       Squid版本:squid-3.1.16

三、测试步骤

       1.准备工作

       下载squid-3.1.16

       #wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.16.tar.gz

       2.解压squid-3.1.16.tar.gz/usr/src目录下

       #tar –zxvf squid-3.1.16.tar.gz –C /usr/src

       3.到/usr/src/squid-3.1.16目录下,准备编译安装

       #cd /usr/src/squid-3.1.16

       4.删除之前的rpm版本和用户,重新建立用户

       #rpm –e squid

       #userdel –r squid

       #groupdel squid

       #groupadd –g 23 squid

       #useradd –d /dev/null –s /sbin/nologin –u 23 –g 23 squid

       5Configure参数配置

       6.编译和安装

       #make && make install

       7.服务器主配置/usr/local/squid/etc/squid.conf

       推荐使用/usr/local/squid/etc/squid.conf.documented

以下信息,未加说明则为默认设置

acl manager proto cache_object

acl localhost src 127.0.0.1/32 ::1

acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

acl SSL_ports port 443

acl Safe_ports port 80          # http

acl Safe_ports port 21          # ftp

acl Safe_ports port 443         # https

acl Safe_ports port 70          # gopher

acl Safe_ports port 210         # wais

acl Safe_ports port 1025-65535  # unregistered ports

acl Safe_ports port 280         # http-mgmt

acl Safe_ports port 488         # gss-http

acl Safe_ports port 591         # filemaker

acl Safe_ports port 777         # multiling http

acl CONNECT method CONNECT

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost           同意本机数据访问

acl myclass src 192.168.1.0/24   定义控制的域

acl limitdownload urlpath_regex -i \.mp3$ \.mp4$ 定义下载限制

http_access allow myclass      同意内网访问

http_access deny limitdownload 限制下载

http_access deny all       默认限制所有

http_port 3128                     代理端口,默认

cache_mem 512 MB   内存缓存大小

maximum_object_size_in_memory 512 KB 内存缓存中文件大小

memory_replacement_policy lru  启用热点移动技术

cache_dir ufs /usr/local/squid/var/cache 1000 16 256 硬盘缓存大小1G16个目录,256个子目录,注意该目录的访问权限保证squid用户可读写

minimum_object_size 0 KB 缓存文件最小为0K

maximum_object_size 4096 KB 缓存文件最大为4M

cache_swap_low 90 清除时容量保留90%

cache_swap_high 95 容量达到95%时开始清除

logformat combined %>a %ui %un [%{%d/%b/%Y:%H:%M:%S +0000}tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh 自定义日志格式

access_log /usr/local/squid/var/logs/access.log combined 日志文件路径,保证squid用户可读写

coredump_dir /usr/local/squid/var/cache

refresh_pattern ^ftp:           1440    20%     10080

refresh_pattern ^gopher:        1440    0%      1440

refresh_pattern -i (/cgi-bin/|\?) 0     0%      0

refresh_pattern .               0       20%     4320

8Squid服务器启动

更改/usr/local/squid/var下目录的ownersquid

#chown –R squid:squid /usr/local/squid/var

建立链接文件,方便使用service命令操作

#ln –s /usr/local/squid/sbin/squid /etc/rc.d/init.d/squid

建立缓存文件夹

#service squid –z

查看是否建立

启动squid服务

#service squid –NCd1 &

查看是否启动

查看3128监听端口

Squid命令参数说明:

-N 非守护进程模式

-C 不忽略致命信号

-d level 调试等级

-k reconfigure 重启装载配置 shutdown关闭kill 杀掉

-z 建立缓存文件

& 代表后台执行squid服务器进程

9.服务器关闭

#service squid –k shutdown

四、使用IE8测试代理服务器

IE8浏览器设置如下:

IE8打开www.baidu.com

实时监控squid服务器日志信息:

测试结果OK

五、使用elinks 测试squid代理服务器(透明代理)

Elinks 无法打开网站:

因为elinks无法设置代理服务器地址及端口,此时就有了透明代理的需求。

1. 首先设置客户端的网关为代理服务器地址

2Squid服务器端设置

#iptables –t nat –A PREROUTING –i eth0 –s 192.168.1.0/24 –p tcp –dport 80 –j REDIRECT –to-ports 3128

将内网的所有指向80端口的请求,全部指向代理服务器的3128端口

/usr/local/squid/etc/squid.conf设置

增加一行:http_port 192.168.1.10:3128 transparent

更新配置信息 service squid –k reconfigure

Elinks 测试结果

Squid透明代理服务器OK

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值