linux-squid

介绍

Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
作用:
1、缓存数据,提高访问速度
2、设置ACL(访问控制列表),控制内网用户的访问行为
软件:
Nginx
Squid
Varnish
代理的类型:
普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;
透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;
反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

配置

Squid 主要组成部分
服务名:squid
主程序:/usr/sbin/squid
配置目录:/etc/squid
主配文件:/etc/squid/squid.conf
监听tcp端口号:3128
默认访问日志文件:/var/log/squid/access.log
squid 常用配置选项(/etc/squid/squid.conf)
http_port 3128 (还可以只监听一个一个ip http_port 192.168.0.1:3128)
cache_mem 64MB#缓存占内存大小
//额外提供给squid使用的内存,squid的内存总占用为 X*10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位)
maximum_object_size 4096KB#最大缓存块
minimum_object_size 0 KB   //设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB   //设置squid内存缓存最大文件,超过4M的文件不保存到内存
reply_body_max_size 1024000 allow all #限定下载文件大小
logformat combined %>a %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %<st “%{Referer}>h” “%{User-Agent}>h” %Ss:%Sh //log文件日志格式
access_log /var/log/squid/access.log combined  //log文件存放路径和日志格式
visible_hostname proxy.test.xom #可见的主机名
cache_dir ufs /var/spool/squid 100 16 256 usf:缓存数据的存储格式
/var/spool/squid 缓存目录
100 : 缓存目录占磁盘空间大小(M)
16 :缓存空间一级子目录个数
256 :缓存空间二级子目录个数
cache_log /var/log/squid/cache.log   //设置缓存日志
logfile_rotate 60   //log轮转60天
cache_swap_high 95  //cache目录使用量大于95%时,开始清理旧的cache
cache_swap_low 90   //cache目录清理到90%时停止。
acl localnet src 192.168.87.1/24  //定义本地网段
http_access allow localnet  //允许本地网段使用
http_access deny all  //拒绝所有
visible_hostname squid.david.dev  //主机名
cache_mgr 472732787@qq.com //管理员邮箱

管理

初始化缓存目录
squid -z
设置开启启动
# chkconfig squid on
# chkconfig --list squid
启动
# service squid start
重新加载
# service squid restart
重启
# service squid start
查看
netstat -antp | grep :3128

正向代理-普通代理

所有客户端必须手工指定代理服务器IP及端口
在这里插入图片描述

 /etc/squid/squid.conf
http_port 3128 
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 192.168.87.1/24
http_access allow localnet
http_access deny all
visible_hostname squid.linux.com

在这里插入图片描述
测试 :在10.1.1.10主机 上访问的是 http://192.168.87.102

正向代理-透明代理

客户端不需要指定代理服务器IP及端口,但需要配置网关
http_port 3128 transparent
启用防火墙
service iptables start
清空已有规则
iptables -F
查看
iptables -nL
iptables -t nat -nL
防火墙规则:
iptables -t nat -A PREROUTING  -s 10.1.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
保存
# /etc/init.d/iptables save
ptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
客户端(默认网管)

在这里插入图片描述

ACL

(1) 禁止IP地址为192.168.16.200的客户机上网
	acl test src 192.168.16.200
	http_access deny test
(2) 禁止192.168.1.0这个网段里的所有客户机上网
	acl test src 192.168.1.0/255.255.255.0			
//acl test src 192.168.1.0/24			
//acl test src 0/0   所有地址
	http_access deny test
(3) 禁止用户访问IP为210.21.118.68的网站
	acl test dst 210.21.118.68
	http_access deny test
(4) 禁止用户访问域名为www.163.com的网站
	acl test dstdomain –i www.163.com					-i: 忽略大小写
	http_access deny test
(5) 禁止用户访问域名包含有163.com的网站
	acl test url_regex –i 163.com			>>>使用正则表达式匹配URL地址 
	http_access deny test
(6) 禁止用户访问包含有sex关键字的URL
	acl test url_regex –i sex
	http_access deny test
(7) 禁止192.168.2.0这个子网里所以客户机在周一至周五的9点到18点上网
	acl test1 src 192.168.2.0 /255.255.255.0
	acl test2 time MTWHF 9:00-18:00
	http_access deny test1 test2
时间列表:
		Code	Day
		S	Sunday
		M	Monday
		T	Tuesday
		W	Wednesday
		H	Thursday
		F	Friday
		A	Saturday
		D	All weekdays (M-F)
(8) 禁止用户下载*.mp3,*.exe,*.zip,*.rar
	acl test urlpath_regex –i \.mp3$\.exe$\.zip$\.rar$				urlpath_regex:正则表达式匹配URI地址
	http_access deny test
注意:
	http_access deny的行为要写在allow的上方

反向代理

在这里插入图片描述

vim /etc/squid/squid.conf
http_port 80 accel vhost
http_access allow all
cache_peer 192.168.87.102 parent 80 0 originserver round-robin weight=1
cache_peer 192.168.87.103 parent 80 0 originserver round-robin weight=1
visible_hostname squid.linux.com
测试 :在10.1.1.10主机 上访问的是 http:// 10.1.1.101 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值