基于linux的Squid代理服务器的架设Word文件下载.docx
- 文档编号:3651088
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:25
- 大小:377.66KB
基于linux的Squid代理服务器的架设Word文件下载.docx
《基于linux的Squid代理服务器的架设Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于linux的Squid代理服务器的架设Word文件下载.docx(25页珍藏版)》请在冰点文库上搜索。
代理服务器将Internet上主机的回应信息传送给客户端A。
客户端B向代理服务器提出相同的请求。
代理服务器也首先与访问控制列表中的访问规则相对照。
如果满足规则,则将缓存中的信息传送给客户端B[3]。
其工作模式图如下图2.2所示。
如图2.2代理服务器工作模式图
3Squid的安装和配置
3.1Squid的安装
下载稳定版squid-3.2.0.6.tar.bz2,用以下命令解开压缩包:
tarxvfjsquid-3.2.0.6.STABLE.tar.bz2,操作如图3.1所示。
图3.1squid的解压操作图
然后,进入相应目录对源代码进行配置和编译,命令如下:
cdsquid-3.2.0.6,操作如图3.2所示。
图3.2squid的编译操作图
整个编译过程如下[4]:
tarxvfjsquid-3.2.0.6.STABLE.tar.bz2
#cdsquid-3.2.0.6
#./configure
#make
#makeinstall
3.2Squid的配置
(1)NetworkOptions(网络设置选项)
http_port端口号
监听客户请求的端口,默认3128
icp_port端口号
和其它squid发送和接收ICP查询时监听的端口,0表示禁止
mcast_groupsIP地址
指定一个多播组,可以接收多播形式的ICP查询
htcp_prot端口号
同其它相邻的缓存服务器之间发送和接收HTCP查询时监听的端口,0:
禁用
tcp_outgoing_addressIP地址
用于采用HTCP和CARP方式同其它服务器通信,默认255.255.255.255
udp_incoming_addressIP地址
接收其它缓存服务器的ICP数据报时使用的地址,默认0.0.0.0
udp_outgoing_addressIP地址
发送ICP数据报到其它缓存服务器时用的地址,默认255.255.255.0
(2)多缓存服务器设置选项
cache_peerhostnametypehttp_porticp_portoptions
指定网络中其它的缓存服务器,默认为none。
Hostname:
另一台缓存服务器的主机名
Type:
parent/sibling/multicast(父/同级/多播)
http_port:
目的服务器的http端口
icp_port:
目的服务器的ICP端口
options:
-proxy-only:
仅去获取数据,但不在本地缓存
-o-query:
不发送ICP查询给此主机
-default:
默认的父服务器
-loginusername:
passwd:
连接对方通过服务器用户名和密码
-no-netdb-exchange代理服务器之间彼此不交换信息
-round-robin当有多个代理服务器可用时,本地代理服务器采用轮转算法
cache_peer_domain服务器主机名域名
用来限定查询相邻的缓存服务器的域
dead_peer_timeoutNseconds
设置Squid在确定父(同)级缓存服务器不可用之前的等待时间
(3)缓存大小设置选项
cache_memN(KB/MB/bytes,默认为bytes)
缓存内存大小
cache_swap_low(percent,0-100)
缓存对象交换的最低点
cache_swap_high(percent,0-100)
缓存对象交换的最高点
maximum_object_size
缓存对象的最大大小
minimum_object_size
缓存对象的最小大小
maximum_object_size_in_memory
在内存中缓存的最大的对象大小
ipcache_size4096:
ip对应cache的大小为4096fqdncache_size4096:
fqdncache_size4096
域名全称cache的大小为4096
(4)日志文件路径及CACHE的目录设置选项
memory_replacement_policyheapGDSF/heapLRU/LRU/heapLFUDA
内存替换策略
heapGDSF:
双重大小贪婪法
LRU:
默认,最近最少使用算法
heapLFUDA:
最近最不常用被老化法
heapLRU:
堆LRU
cache_replacement_policyheapGDSF/heapLRU/LRU/heapLFUDA
缓存替换策略
cache_dir类型路径大小(M)一级子目录二级子目录
系统使用的存储类型
类型:
UFS|AUFS,默认使用UFS,AUFS用于非同步的I/O设备
实例:
cache_dirufs/usr/local/squid/cache2500016256
cache_access_log/var/log/squid/access.log
access.log日志文件路径
cache_log/var/log/squid/cache.log
缓存日志文件的目录和文件
emulate_httpd_logon/off
激活仿真HTTP格式的日志
mime_table/etc/squid/mime.conf
mime文件路径
pid_filename/var/ran/squid.pid
指定pid文件和路径
ftp_user用户名@域名
指定匿名FTP密码
ftp_list_width数字
指定FTP列表的文件名长度
ftp_passiveon/off
以被动模式(on)/主动模式(off)
cache_dns_program/usr/lib/squid/
指定DNS查询程序路径
编译时指定:
--disable-internal-dnsoption
dns_children数字
指定本地默认启动DNS查询进程数
dns_nameserversIP地址
DNS服务器地址
diskd_program/usr/lib/squid/diskd
磁盘管理程序
unlinkd_programusr/lib/squid/unlinkd
删除文件程序
pinger_program/usr/lib/squid/
ping程序
编译时指定:
--enable-icmpoption
redirect_programnone
URL重点向程序
redirect_children数字
重点向进程数
redirect_rewrites_host_headeon/off
重点向时重写包头(用加速器时勿用)
auth_param类型program/children/credentialsttl/realm值
用户认证配置选项
(5)调整Cache的选项
request_header_max_size数字(KB)
最大http请求头
request_body_max_size数字(KB)
最大http请求数据内容
reply_body_max_size数字(KB)
最大返回数据,可限制用户下载的数据大小
reference_age数字
LRU算法中指定LRU时间
quick_abort_min数字(KB)
断点续传最小值
quick_abort_max数字(KB)
断点续传最大值
quick_abort_pct数字(percent)
超过值认为续传成功
negative_ttl数字minutes/hours/seconds
否定回答TTL
positive_dns_ttl数字minutes/hours/seconds
DNS肯定回答TTL
range_offset_limit数字KB/MB/Bytes
请求SQUID预取数据的大小
(6)定义超时的选项
connect_timeout:
SQUID等待客户请求的服务器回应的时间长度
peer_connect_timeout:
一个对等的缓存服务器的TCP连接超时时间
client_lifetime:
客户端同代理服务器TCP连接的最大时间长度
read_timeout:
读入数据超时
request_timeout:
客户端请求最大时间
shutdown_lifetime:
关闭squid缓存时间
(7)定义访问控制的选项
acl:
定义一个访问列表
格式:
aclaclnameacltypestring
类型:
(acltype)
src:
源地址
dst:
目标地址
srcdomain:
原(客户)名称
dstdomain:
目标名称
time:
时间(M星期一、T星期二、W星期三、H星期四、F星期五、A星期六、S星期天)
url_regex[-i]:
URL中的正则表达式匹配
urlpath_regex[-i]:
略去协议和主机名的正则表达式
proxy_auth:
通过外部程序进行用户验证
maxconn:
单IP最大连接数
port:
端口
myip:
本地IP
srcdom_regex[-i]:
匹配客户名
dstdom_regex[-i]:
匹配目标名
myport:
我的端口
proto:
协议,http,ftp..
method:
方法,GETPOST
browser:
匹配User-Agentheader
arp:
匹配指定的MAC地址
proxy_authusername:
指定合法用户,用REQUIRED表示所有合法用户
http_access:
代理访问控制
http_accessallow|deny[!
]acl_name
icp_access:
icp访问控制
icp_accessallow|deny[!
]acl_name
cache_peer_access:
其它缓存服务器访问控制
cache_peer_accesscache_hostallow|deny[!
(8)管理员参数选
cache_mgrmail地址:
管理员电子邮件
cache_effective_user用户名:
运行身份
cache_effective_group组名:
运行组身份
(9)CACHE注册服务选项
announce_period数字:
发布缓存通告频率
announce_host主机名:
通告的主机
announce_file文件名:
通告的信息
announce_port端口号:
通告的对方端口
(10)HTTPD加速选项
httpd_accel_host主机名/vitual:
加速某服务器访问
httpd_accel_port端口号:
加速服务器的对方端口
httpd_accel_single_hoston/off:
多台服务器时设置off
httpd_accel_with_proxyon/off:
即作为加速器,又作为WEB缓存服务器,设置为on
httpd_accel_uses_host_headeron/off:
为on,能支持不同的http协议
(11)杂项
logfile_rotate0-9:
日志轮换版本数
append_domain域名:
默认域名
tcp_recv_bufsize数字(KB):
TCP缓存区大小
err_html_text字符串:
包含在错误消息中的文本
deny_info:
禁用时显示消息
deny_infoerr_page_nameacl
visible_hostname主机名
错误消息中显示的服务器名称
error_directory路径:
指定错误消息文件目录[5]
4普通代理服务器的配置
4.1安装和配置
(1)安装squid
(2)配置squid.conf文件
#vi/etc/squid/squid.conf
http_port3128
icp_port3130
#缓存目录的设置,可以设置多个缓存目录,语法为:
<
cache_dir>
aufs|ufs>
目录所在>
<
MBytes大小>
dir1>
dir2>
cache_dirufs/var/spool/squid409616256
#下面是关于日志文件的放置目录与文件名
cache_access_log/var/log/squid/access.log
cache_store_log/var/log/squid/store.log
pid_filename/var/run/squid.pid
#关闭认证机制
#auth_parambasicchildren5
#auth_parambasicrealmSquiiproxy-cachingwebserver
#auth_parambasiccredentialsttl2hours
#设置squid用户及用户组、管理员账号
cache_effective_usersquid
cache_effective_groupsquid
cache_mgryouraccount@your.e.mail
#与内存有关的配置
cache_mem128MB
#与磁盘容量有关的配置
cache_swap_low90
cache_swap_high95
maximum_object_size4096KB
#与内存保存资料有关的配置
maximum_object_size_in_memory8KB
#定义acl(访问控制列表),语法为:
acl<
acl>
acl名称>
acl类型>
配置的内容>
aclAllsrc0.0.0.0/0.0.0.0
aclmanagerprotocache_object
aclalhostsrc127.0.0.1/255.255.255.255
aclto_localhostdst127.0.0.1/8
aclSSL_ports443563
aclsafe_portsport80
aclsafe_portsport21
aclsafe_portsport443563
aclsafe_portsport70
aclsafe_portsport210
aclsafe_portsport1025-65535
aclsafe_portsport280
aclsafe_portsport488
aclsafe_portsport591
aclsafe_portsport777
aclCONNECTmethodCONNECT
#利用前面定义的acl,定义访问控制规则
http_accessallowManagerLocalhost
http_accessdenyManager
http_accessdeny!
Safe_ports
http_accessdenyCONNECT!
SSL_ports
http_accessdenyAll
#定义与其它代理服务器的关系,语法:
cache_peer>
主机名称>
类别>
http_port>
icp_port>
其它参数>
cache_peerparent31283130proxy-only
#设置与其它代理服务器的关系:
#<
cache_peer_access>
上层Proxy>
allow|deny>
#cache_peer_accessallowasexample
#cache_peer_accessdenyall
coredump_dir/var/spool/squid[5]
4.2激活squid
(1)在开启squid之前,检查配置文件是否正确[6],如下图4.1所示,运行如下命令即可:
#squid-kparse
图4.1配置文件检查图
(2)初始化cache目录.即建立缓存目录的存储格式[6]
#squid–zX
(3)启动squid服务[6],如下图4.2所示。
#servicesquidstart
图4.2squid启动图
(4)代理服务器的测试
在测试之前,我们先得的网络搭建好[7],局域网的设置如下图4.3和4.4所示。
图4.3局域网的设置图
图4.4局域网的设置图
然后在IE浏览器里输入路径:
进行测试,测试如图4.5所示。
图4.5服务器测试图
(5)停止squid,如下图4.6所示。
#squid-kshutdown
图4.6squid的关闭图
4.3访问控制示例
(1)禁止访问某个网站
在squid配置文件中添加以下acl名称及访问规则,并重新加载配置
aclsinadst58.63.236.26
http_accessdenysina
(2)禁止在某些时段访问
aclWorking_hoursMTWHF08:
00-17:
00
http_accessallowWorking_hours
http_accessdeny!
Working_hours
(3)禁止某个代理客户建立过多连接
aclOverConnLimitmaxconn4
http_accessdenyOverConnLimit
5透明代理服务器的配置
5.1安装和配置
#vietc/squid/squid.conf
http_port192.168.16.1:
8080
dns_nameservers202.102.192.68
cache_store_log/var
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 linux Squid 代理服务器 架设