Squid代理服务器

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可设置字体大小、背景、颜色等。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180304G0L3OP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券