分享
 
 
 

linux下利用Squid构建高速的Proxy Server2

王朝system·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

# TAG: cache_mgr

cache_mgr webmaster@localhost #管理员信箱

# TAG: cache_effective_user

cache_effective_user squid #运行squid时的用户

cache_effective_group squid #运行squid时的组

# TAG: visible_hostname

visible_hostname ProxyServer #代理服务器名称

# OPTIONS FOR THE CACHE REGISTRATION SERVICE(cache注册服务选项)

# -----------------------------------------------------------------------------

# HTTPD-ACCELERATOR OPTIONS(HTTPD加速选项)

# -----------------------------------------------------------------------------

#设定透明代理

httpd_accel_host ProxyServer #主机名

httpd_accel_port 80 #透明代理端口

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

# MISCELLANEOUS(杂项)

# -----------------------------------------------------------------------------

# TAG: logfile_rotate

#squid会定期的将日志文件更名并打包。

#比如正在使用的日志文件为access.log,squid会将其更名并打包为 access.log.1.gz;

#过了一定时间后,squid又会将access.log.1.gz更名为access.log.2.gz

#并将当前的日志文件更名并打包为access.log.1.gz,以此循环。

#logfile_rotate指定的数字即为打包并备份的文件的数量,当达到这一数目时,

#squid将删除最老的备份文件。默认值为1 0。如果想手动来进行这些操作,

#可以用logfile_rotate 0来取消自动操作。

logfile_rotate 4

# TAG: forwarded_for on|off

#关闭此项将在访问某些论坛时显示的IP是unknown,

#如果打开则显示的是你client的内网IP

forwarded_for off

#图标文件目录

# icon_directory /usr/local/squid/share/icons

#错误提示文件目录

# error_directory /usr/local/squid/share/errors/Simplify_Chinese

# TAG: snmp_port

# Squid can now serve statistics and status information via SNMP.

# By default it listens to port 3401 on the machine. If you don’t

# wish to use SNMP, set this to "0".

#

#Default:

# snmp_port 3401

# TAG: snmp_access

# Allowing or denying access to the SNMP port.

#

# All access to the agent is denied by default.

# usage:

#

# snmp_access allow|deny [!]aclname ...

#

#Example:

# snmp_access allow snmppublic localhost

# snmp_access deny all

#

#Default:

# snmp_access deny all

# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)(延时池参数)

# -----------------------------------------------------------------------------

# TAG: coredump_dir

#当squid突然挂掉的时候,或者突然出现什么故障的时候,将squid在内存中的资料写到硬盘中

coredump_dir /usr/local/squid/var/cache3.设置iptables支持透明代理

设置squid+iptables支持透明代理前请先设置好NAT,可以使用下面的简单语句

CODE:echo "1" >; /proc/sys/net/ipv4/ip_forward #设置转发

/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE #设置nat功能

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

#将所有80端口的请求都转发到suqid的3128端口上

其中192.168.1.0/24表示192.168.1.1-254这个网段通过squid和nat做透明代理。

这样,当用户访问www服务的时候可以使用cache作为高速代理,减少流量,而其他服务则通过nat转发。

4.使用上层代理

当你访问国外网站比较慢的时候,可以通过设置代理访问,那么我们自己的代理服务器能否也设置别人的代理来访问国外的网站呢?答案是肯定的。

例如有代理proxy1.cnlinux.net能以较快的速度访问国外,且我们访问它也比较快,所以我们用它来作为我们访问国外网站的上层代理。

我们需要在squid.conf中添加如下参数:

CODE:<cache_peer>; <主机名称/地址>; <类别>; <http端口>; <icp端口>; <其他参数>;

类别主要有上层的parent和同一层的sibling两种,我们这里主要介绍的是上层代理,就是parent,如果你需要架设代理服务器集群的话可以采用sibling,这里我们就不做讨论了。

其他参数有:

CODE:proxy-only :只向上层代理要资料,自己不缓存到本地proxy中。

weight=n :比重,当我们设置多台上层代理的时候,这几台代理的功能都相同的,可以通过设置此项来决定那台上层代理比较重要,n越大表示越重要。

no-query :当使用sibling类别的时候,向同一层的proxy索要资料的时候就会向其送出icp请求,可以使用no-query来取消icp请求,一般我们向上层proxy请求资料的时候可以不需要发送icp包,以降低流量。

default :表示将这台proxy设置为默认proxy

no-netdb-exchange :表示不向proxy送出imcp包的请求。

no-digest :表示不纪录向上层proxy提交的请求。

#上层proxy设置

cache_peer proxy1.cnlinux.net parent 3128 3130 no-digest no-netdb-exchange

#设置访问规则,可以用域名,也可以用IP

acl usa dstdomain .com.us #美国.com.us的网站

acl usaip dst 18.0.0.0/8 #美国的部分IP段

#放行禁止规则

cache_peer_access proxy1.cnlinux.net allow usa #允许usa规则使用此上层proxy

cache_peer_access proxy1.cnlinux.net deny !usa #禁止所有非usa规则使用此上层proxy

cache_peer_access proxy1.cnlinux.net allow usaip

cache_peer_access proxy1.cnlinux.net deny !usaip5.启动,关闭squid

a.将cache目录的所有者更改为squid

CODE:#chown -R squid:squid /Cache1

#chown -R squid:squid /Cache2

b.对cache目录进行初始化

CODE:#/usr/local/squid/sbin/squid -z

2004/11/01 23:06:29| Creating Swap Directories

FATAL: Failed to make swap directory /Cache1/00: (13) Permission denied

Squid Cache (Version 2.5.STABLE7): Terminated abnormally.

CPU Usage: 0.000 seconds = 0.000 user + 0.000 sys

Maximum Resident Size: 0 KB

Page faults with physical i/o: 10

如果出现上面这样的错误信息,表示你/Cache1目录权限错误,请检查/Cache1目录所有者是否为squid用户所有。

c.启动squid

CODE:#su squid -c "/usr/local/squid/bin/RunCache &"

d.关闭squid

CODE:#/usr/local/squid/sbin/squid -k shutdown

要执行两次才能正常关闭suqid

e.重新读取squid.conf文件

CODE:#/usr/local/squid/sbin/squid -k reconfigure

需要执行两次才能重新读取squid.conf文件

6.日志分析

Proxy服务器安装好后,我们当然要对服务器进行监控,通过日志分析,我们可以知道那些用户上了那些网站,用了多少流量等,下面为大家介绍sarg这个日志分析工具,在squid的官方网站还推介了其他几种日志分析工具,大家有兴趣的话可以上去看看。

a.安装

CODE:#./configure --prefix=/usr/local/sarg --enable-bindir=/usr/local/sarg/bin

#make && make install

b.设置sarg.conf文件

CODE:#vi /usr/local/sarg/sarg.conf

language language English #由于官方网站还没有发布中文版,所以我们就使用英文好了,那位有兴趣可以自己翻译一下

access_log /usr/local/squid/var/logs/access.log.0 #squid日志文件存放位置

title "Squid 使用报告" #标题

temporary_dir /tmp #临时目录

output_dir /var/www/html/sarg #生成后的html存放到那里,设置到你的网站目录下,以便浏览

overwrite_report no #是否覆盖报告,当那个日期的报告已经存在时是否覆盖掉

mail_utility mail

topsites_num 100

exclude_codes /usr/local/sarg/exclude_codes

max_elapsed 28800000

charset GB2312 #字符集

c.生成报告

设置好sarg.conf文件后,执行

CODE:#/usr/local/sarg/bin/sarg

将提示:SARG: Successful report generated on /usr/local/apache/htdocs/sarg/2004Oct31-2004Nov01

表示报告生成成功,还有报告存放位置,可以马上打开您的浏览器查看报告了。

三、关于Cache目录的建议

由于cache目录是经常的读写,所以最好硬盘能用SCSI的,速度比较快而且稳定。如果我们的cache大概需要40G的大小,那么我们尽量使用多硬盘,不要当纯用一个40G的硬盘,可以使用4个10G的硬盘,这样,对于cache的速度更快。比如,当你有10M的东西要写到cache中,如果是只是用一个硬盘的话,虽然可能你已经将4个cache目录分别放在4个分区,可是你只有一个硬盘,同时只有一个在写入,可是当你有4个硬盘的时候,你每个硬盘就只要写入2.5M的东西,那样是不是更快呢?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有