Squid代理服务器

Posted L宝宝聊IT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.36  125.39.127.25   60.28.14.0/24)

调用指定文件中的列表内容:

acl  IPBLOCK dst  “etc/squid/ipblock.list”

8、sarg是一款squid日志分析工具,采用html格式,详细列出站点信息时间、排名、连接次数、访问量,主配置文件为sarg.conf可设置字体大小、背景、颜色等。

 

Squid代理服务器应用示例

实验拓扑图:

实验要求:

(1)如上图要求配置网络,内部主机需要配置默认网关,外部linux不需要配置默认网关。

(2)在squid服务器上安装squid,并做相关的配置,启动squid服务,查看端口。

(3)搭建传统代理服务器,要求在内部linux服务器能够使用传统代理访问外部的web服务器。内部客户端最大允许下载的文件不能超过10MB,squid最大缓存的文件为4MB。内部客户端验证文件下载。

(4)修改squid的主配置文件,搭建一台透明代理服务器,结合iptables的重定向策略,开启路由转发。验证内部客户端能否使用透明代理访问外部的web服务器。

(5)修改squid的主配置文件,设置ACL访问控制,要求内部客户端192.168.1.0网段在周一至周五的9:00—17:00才能使用代理服务器上网,其他时间不允许上网,并且禁止下载.mp3,.avi,.rmvb的视频文件。针对某些目标地址建立黑名单,如61.135.167.36,125.39.127.25

修改squid服务器的时间,客户端验证是否能上网。

客户端验证mp3视频文件能否下载。

(6)在squid服务器上安装Squid日志分析软件sarg,进行相关的配置,并在客户端访问日志分析的网站。

步骤:

1、按要求配置网络,内部主机需要配置默认网关,外部linux不需要配置默认网关。(如下图)

2、在squid服务器上安装squid,并做相关的配置,启动squid服务,查看端口。

(1)解包并编译安装squid

(2)安装完成后创建链接文件,创建用户和组。

(3)修改squid的主配置文件(/etc/squid.conf)

(4)启动服务并查看端口号(依次输入以下命令)

squid  -k  parse         检查配置文件语法是否正确

squid  -z                初始化缓存目录

squid                    启动squid服务

然后查看端口号,服务是否启动

3、搭建传统代理服务器,要求在内部linux服务器能够使用传统代理访问外部的web服务器。内部客户端最大允许下载的文件不能超过10MB,squid最大缓存的文件为4MB。内部客户端验证文件下载。

(1)修改主配置文件/etc/squid.conf ,添加配置项(内部客户端最大允许下载的文件不能超过10MB,squid最大缓存的文件为4MB)

(2)重新加载服务

squid  -k  reconfigure

(3)开启网站服务器的httpd服务

(4)修改内部主机浏览器的设置,能够使用传统代理访问外部的web服务器。(注:本实验关闭了squid服务器的防火墙,如开启了防火墙请添加规则 iptables  -I  INPUT  -p  tcp  --dport  3128  -j  ACCEPT

(5)在网站服务器上的httpd服务网页目录上新建一个文件(大于10 MB)

在内部主机测试

4、修改squid的主配置文件,搭建一台透明代理服务器,结合iptables的重定向策略,开启路由转发。验证内部客户端能否使用透明代理访问外部的web服务器。

(1)修改squid的主配置文件/etc/squid.conf ,使其能支持透明代理。

(2)重新加载服务

squid  -k  reconfigure

(3)设置iptables的重定向策略

(4)开启路由转发功能,(/etc/sysctl.conf)

(5)关闭内部主机IE浏览器的局域网设置,并测试。

5、修改squid的主配置文件,设置ACL访问控制,要求内部客户端192.168.1.0网段在周一至周五的9:00—17:00才能使用代理服务器上网,其他时间不允许上网,并且禁止下 载.mp3,.avi,.rmvb的视频文件。针对某些目标地址建立黑名单,如 61.135.167.36 125.39.127.25

 修改squid服务器的时间,客户端验证是否能上网。

(1)修改squid主配置文件/etc/squid.conf 

(2)建立相应的ip地址名单

mkdir /etc/squid

cd /etc/squid

vim ipblock.list

(3)重新加载服务

squid -k  reconfigure

(4)在内部主机上验证(因为squid服务器的时间满足要求,所以能访问)

可以修改squid服务器的时间,再次测试(注:如果删除了浏览器的数据还是能访问,就杀死squid进程再打开。)

6、在squid服务器上安装Squid日志分析软件sarg,进行相关的配置,并在客户端访问日志分析的网站。

(1)在squid服务器上建立yum仓库,使用yum方式安装

执行命令yum  -y install  gd  进行安装

(2)安装sarg,解包后编译安装

(3)配置

cd  /etc/sarg/

vim sarg.conf

(4)运行

并启用httpd服务

(5)在内部主机验证,在IE浏览器上输入http://192.168.1.1/sarg/

文章参考微信公众号:L宝宝聊IT

以上是关于Squid代理服务器的主要内容,如果未能解决你的问题,请参考以下文章

Squid代理服务器(传统代理透明代理)(图文详解)

squid代理服务器(传统代理透明代理反向代理ACL日志分析)

Squid缓存代理服务器!

Squid缓存代理服务器!

缓存加速------Squid代理服务器应用(传统代理,透明代理,反向代理,ACL访问控制,日志分析)

实战Squid 缓存服务器 之 传统代理 + 透明代理