码迷,mamicode.com
首页 > 其他好文 > 详细

Squid代理服务器

时间:2018-08-05 13:07:45      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:usr   源地址   font   文件大小   要求   新建   alt   网站服务   etc   

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代理服务器

标签:usr   源地址   font   文件大小   要求   新建   alt   网站服务   etc   

原文地址:https://www.cnblogs.com/L2366/p/9424996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!