1、squid代理:
缓存网页,减少重复请求,加快访问速度,隐藏真实ip
代理的分类:
传统代理:使用Internet和内网,客户端需明确指定代理服务器。
透明代理:使用于内网访问外网,指定代理服务器,但必须指定网关,网管配置iptables策略,将端口重定向到代理服务器端口。
2、squid和nat的区别:
NAT:工作在网络层,通过转换地址转发数据包,实现内外网之间通信。
应用代理:工作在应用层,通过缓存提供服务,不进行数据包转发,主要实现web缓存服务。
3、squid的安装
./configure--prefix=/usr/local/squid(安装目录)--sysconfdir=/etc(配置文件位置)--enable-linux-netfilter(支持内核过滤)--enable-linux-tproxy(支持透明模式)--enable-async-io=100--enable-err-language=”Simplify_Chinese”(错误信息显示语言)--enable-underscore(允许URL中有下划线)--enable-poll(使用Poll()模式,提升性能)--enable-gnuregex(使用GNU正则表达式)
4、主配置文件/etc/squid.con的配置项:
http_port 3128 默认端口号:3128
cache_effective_user squid 指定squid的程序用户
cache_effective_group squid 指定账号的基本组
repy_body_max_size 10 MB 允许下载最大文件大小
maximum_object_size 4096 KB 允许缓存的最大对象
visible_hostname a.benet.com 指定主机名(名称随意)
5、squid的管理命令:
squid -k parse 检测语法
squd -z 初始化缓存目录
squid 启动squid
squid -k reconfigure 重新加载配置
关闭squid: kill 进程号(查看进程号命令:netstat -anpt | grep “squid”)
6、透明代理配置:
1)在/etc/squid.conf配置文件添加支持透明代理
http_port 192.168.1.1:3128 transparent
(192.168.1.1是内网网关)
2)添加iptables策略,将80号端口(HTTP)和443端口(HTTPS)重定向到3128
Iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 3128
Iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to 3128
7、squid的控制
由ACL和http_access两条命令实施,ACL定义规则,http_access应用规则。
格式: acl 名称 控制类型 控制内容
http_access allow|deny 名称1 名称2
控制类型:src 源地址 dst 目标地址
port 端口号 time 访问时间
dstdomain 目标域 maxconn 连接数url_grgex 目标URL地址 urlpath_regex URL路径(文件类型)
可以设置黑白明单以控制允许或拒绝访问的主机
例:建立针对目标地址的黑名单文件
mkdir /etc/squid
cd /etc/squid
vim ipblock.list --写入地址(61.135.167.36125.39.127.2560.28.14.0/24)
调用指定文件中的列表内容:
acl IPBLOCK dst “etc/squid/ipblock.list”
8、sarg是一款squid日志分析工具,采用html格式,详细列出站点信息时间、排名、连接次数、访问量,主配置文件为sarg.conf可设置字体大小、背景、颜色等。
领取专属 10元无门槛券
私享最新 技术干货