Squid代理服务

发布时间 2023-11-06 11:50:26作者: hmiking

Squid代理服务配置命令

安装软件

yum install -y squid

创建cache目录

mkdir   /cache
chmod  777 /cache
chown  squid:squid  /cache


修改配置文件

Vim /etc/squid/squid.conf
56:  http_access allow all                                    
#允许所有可以访问
59: http_port   192.168.1.254:8080                           
#改端口
62: cache_dir ufs  /var/spool/squid  10240  16  256          
#缓存目录
dns_nameservers   IP                            
#DNS服务器
cache_mem    512  MB                           	
#高速缓存
cache_log    /var/logsquid/access.log              
#缓存日志
cache_access_log  /var/log/squid/access.log		
#缓存访问日志
cache_store_log									
#网页缓存日志 
cache_effective_user 								
#设置squid的拥有者
cache_effect_group									
#设置squid所属组
visible_hostname  192.168.65.10					
#设置squid可见主机名
cache_mgr  root@local.com						    
#设置管理员E-mail地址
redirect_children									
#重定向器池进程数

初始化及重启服务

squid -Z				
#初始化在 squid.conf 里配置的 cache 目录
systemctl start squid			
#启动服务
systemctl enable squid			
#设置开机自启

Squid用户认证

auth_param  basic program    /usr/lib64/squid/basic_ncsa_auth    /etc/squid/passwd  
#指定认证程序以及账户文件
#注:/squid/squid_user	(账户存储位置)

auth_param basic children 5
#认证程序进程数

auth_param  basic  realm  CangLuan  Squid
#客户端在使用代理是,输入密码时弹出的提示框中的描述文字

Auth_param basic credentialsttl 5 hours
#用户名是否需要匹配大小

http_access  allow  cangluan  
#允许cangluan中的成员访问

acl  ncsa_users  proxy_auth   REQUIRED 
#所有成功鉴权的用户都归于ncsa_users组。

Acl badfile urlpath_regex -I /.mp3$ /.flv$
#禁止访问.mp3 .flv扩展名后缀的资源

http_access deny badfile 

htpasswd  -c /etc/squid/passwords  test
#给用户创建密码

ACL控制语句

acl mylan src 192.168.1.0/24 192.168.4.0/24
#客户机网段

acl worktime time MTWHF 08:30-17:30
#周一至周五的工作时间段

acl to_host dst 127.0.0.0/8
#目标地址

acl mc20 maxconn 20
#最大并发连接20

acl blackURL url_regex -i ^rtsp:// ^ emo://
#以rtsp://等开头的URL

acl fileURL urlpath_regex -i .mp3$ .mp4$
#以.mp3、.mp4结尾的URL路径

配置说明

一、基本配置

http_port 192.168.1.1:3128                  
#设置监听地址和端口,如果只是端口则表示监听所有地址。

visible_hostname ren.com                  
 #可发现的主机名,给代理服务器设置一个名字。

access_log /var/log/squid/access.log          
 #访问日志存放位置。

coredump_dir /var/spool/squid            
#设置一个内核转存目录,当Squid挂掉的时候,会将内存中的数据写到该目录下,默认为/var/spool/squid。

cache_mgr squiderror@test.com            
#设置一个邮箱,当用户使用代理服务器中出现问题,会在错误页面显示一个邮箱地址,用于用户反馈错误。

reply_body_max_size  1024000 allow all       
#限制下载文件大小,单位为字节B。

二、优化配置

cache_dir ufs /var/spool/squid  100 16 256     
#设置在本地磁盘设置一个缓存目录用于缓存数据。
“ufs”表示缓存数据的存储格式;
“/var/spool/squid”表示设置的缓存目录;
“100”表示缓存目录占磁盘空间大小,单位为MB;
“16”表示缓存数据的一级子目录个数为16个;
“256”表示缓存数据的二级子目录个数为256个。

cache_mem 1024MB                   
#缓存占物理内存大小。单位为MB。

cache_swap_low 85                 
#缓存占Swap虚拟内存最低大小为85%。

cache_swap_high 95                   
#缓存占Swap虚拟内存最高大小为95%。当缓存数据占内存大小到95%时,会自动删除旧数据释放内存空间到百分之85%。

minimum_object_size 0KB               
#设置数据对象(页面数据)的最小大小,0表示不限制。

maximum_object_size 4096KB  
#设置数据对象(页面数据)的最大大小,当大于4MB的数据在不会缓存到磁盘。

欢迎关注我的CSDN个人博客知乎