squid代理服务器

搭建代理服务器可以提高上网打开网页的速度,可以对非法网站进行屏蔽,限制文件下载,以及查看员工访问internet的情况,包括上网的地址,用户,时间等,是企业网络管理的常用手段。

1:代理服务器分为传统代理和透明代理,传统代理适用于浏览internet,需要在浏览器上手工指定服务器地址和端口,不是很方便,但是可以隐藏本机真实的ip地址,而且为下载工具使用多个代理可以规避服务器的并发连接显示。

2:透明代理适用于共享上网网关,不需要指定服务器地址和端口,无需额外的设置即可上网,在实际工作中透明代理较多。



 

一、搭建传统代理服务器

1、实验拓扑:




squid代理服务器_第1张图片




1、实验步骤

1)在服务器B上安装Squid代理服务器软件(挂载光盘,解压缩)

squid代理服务器_第2张图片




2)编译安装

squid代理服务器_第3张图片

(如果配置错误的话可以使用这个命令./configure   --clean 清除配置)





squid代理服务器_第4张图片




2)创建链接文件,创建用户和组

squid代理服务器_第5张图片



2)使用squid服务脚本(为了能够方便启动停止服务)

Vim  squid,内容如下

squid代理服务器_第6张图片





squid代理服务器_第7张图片





设置权限,并添加为系统服务。


squid代理服务器_第8张图片





2)修改配置文件

Vi  /etc/squid.conf

主要修改有以下几条配置项,有的配置项需要修改,而有的配置项需要添加。

    http_port 3128                      squid的默认监听端口tcp  (修改) 

 cache_effective_group squid     squid的运行组    (添加)

    cache_effective_user squid          squid的运行用户  (添加)

    visible_hostname  centos1.lzg.com   当前系统的主机名  (添加)

    cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256


squid代理服务器_第9张图片





2)在防火墙上添加允许策略


squid代理服务器_第10张图片






2)启动squid服务

执行:Squid  -k  parse检测语法是否正确,出现很多内容,一般不用理会,没有提示错误就可以。

执行squid  -z 初始化缓存目录,此步必须要做,执行完之后稍微等一会。

执行squid启动服务,也可以使用service  squid  start启动服务,第一次启动最好用squid启动。


squid代理服务器_第11张图片





然后执行squid  -Z

 

再执行squid启动服务

 

然后查看端口


squid代理服务器_第12张图片






2)在服务器A上搭建网站(这个步骤就不去详细的说了)


squid代理服务器_第13张图片





2)在客户机上修改ie浏览器的代理服务器地址

(在浏览器中打开“工具”-“Internet选项”在“Internet选项”中选择“连接”中的局域网设置)


squid代理服务器_第14张图片





2)在客户机上访问网站

别忘记在网站服务器A上开启80端口


squid代理服务器_第15张图片







squid代理服务器_第16张图片




然后把代理服务器服务停止,再次访问网站,发现不能访问

说明客户机确实是通过代理服务器上网。


squid代理服务器_第17张图片




squid代理服务器_第18张图片



2验证代理服务器

在客户机访问网站,然后查看web服务器的访问日志,发现客户机172.16.16.110访问网站172.16.16.172的记录

但是在web服务器中,查看网站日志文件,显示的访问者是代理服务器的地址172.16.16.22,不是客户端的地址


squid代理服务器_第19张图片







squid代理服务器_第20张图片



如果是默认安装的httpd,就查看下面的文件。


squid代理服务器_第21张图片




二、搭建透明代理服务器

1、实验拓扑


squid代理服务器_第22张图片





1、实验步骤(安装的步骤参考前面的传统代理,IP地址的配置省略)

1)配置squid支持透明代理

Vi  /etc/squid.conf


squid代理服务器_第23张图片

修改上面的一行就可以

 


修改完成时候别忘记重新加载squid服务


squid代理服务器_第24张图片




1)在服务器B上开启路由转发(这个是临时的)

永久开启的方法:(vi /etc/sysctl.conf 将里面的net.ipv4.ip_forward=1的注释去除)

并执行:
sysctl -p


squid代理服务器_第25张图片





1)配置防火墙重定向

 

Iptables -t nat -I PREROUTING -i eth1 -s 192.168.4.0/24 -p tcp --dport 80 -j REDIRECT --to 3128

Service  iptables  save 保存


squid代理服务器_第26张图片




1)在客户端上访问网站(必须配置网关)


squid代理服务器_第27张图片




1)验证透明代理

如果在linux客户机上测试,需要提前清除HTTP_PROXYHTTPS_PROXY变量

我们就在windows上验证了,因为在实际工作中,员工很少使用LINUX访问网站。

验证方法和传统代理验证方法一样


squid代理服务器_第28张图片







squid代理服务器_第29张图片


三、设置ACL访问控制

1、禁止下载扩展名为:.mp4,avi视频

2、超过4mb大小的文件不进行缓存,禁止下载超过10mb的文件

3、设置网站黑名单,禁止访问位于.qq.com,.lol.com的网站

4、允许在正常上班时间(周一到周五8:30-17:30)上网

5、默认策略设置为禁止任何客户机使用代理服务器。


Vim  /etc/squid.conf

squid代理服务器_第30张图片

squid代理服务器_第31张图片

squid代理服务器_第32张图片





在客户端上测试下载文件,超过10mb就禁止下载

(在服务器A的网站目录下新建15mb的文件)


squid代理服务器_第33张图片








squid代理服务器_第34张图片





在客户端上分别下载5mb15mb的文件


squid代理服务器_第35张图片







squid代理服务器_第36张图片




四、squid日志分析

(是一款squid日志分析工具,采用ktml格式)

 (可以详细的列出每一位访问Internet的站点信息,时间占用率,排名等功能)


1、安装gd


squid代理服务器_第37张图片




2、安装sarg


squid代理服务器_第38张图片


3、配置


squid代理服务器_第39张图片




修改以下内容,不用添加,修改即可

1

squid代理服务器_第40张图片








squid代理服务器_第41张图片

squid代理服务器_第42张图片

squid代理服务器_第43张图片

squid代理服务器_第44张图片

squid代理服务器_第45张图片

squid代理服务器_第46张图片

squid代理服务器_第47张图片

squid代理服务器_第48张图片

squid代理服务器_第49张图片

squid代理服务器_第50张图片





1、运行

Touch  /usr/local/sarg/noreport


squid代理服务器_第51张图片




squid代理服务器_第52张图片




1、验证

在客户端上访问 

http:///172.16.16.1/sarg

出现以下内容,表示没有错误


squid代理服务器_第53张图片




1、计划任务


squid代理服务器_第54张图片






编辑以下内容


squid代理服务器_第55张图片







Crontab  -e

每天0点运行统计昨天的内容


Chmod  +x /usr/local/sarg/daily.sh

Chkconfig crond on




squid代理服务器_第56张图片