首页 > 代码库 > squid代理(传统代理)

squid代理(传统代理)

squid代理服务器

 

Squidlinux系统中常用的一款开源代理服务软件,可以很好地实现HTTPFTP ,以及DNS查询,SSL等应用的缓存代理,功能十分强大

作为应用层的代理服务器软件,Squid主要提供缓存加速,应用层过滤控制的功能

1 代理的工作机制

{1}当客户机通过代理来请求Web页面时,

{2}指定的代理服务器会检查自己的缓存,

{3}如果缓存中已经有客户机需要的页面,

{4}则直接将缓存中的内容反馈给客户机,

{5}如果缓存中没有客户机要访问的页面,

{6}则由代理服务器向lnternet发送请求,当获得返回的web页面以后,将网页数据保存到缓存中在发送给客户机。

 

 2 squid服务的作用

   {1}.加快对http访问的速度

   {2}.提高安全性)(客户机的Web访问请求实际上是由代理服务器完成的,从而可以隐藏用户的真IP地址)

   {3}.能够进行访问控制(代理服务器担任着类似“经纪人”的角色,所以会针对要访问的目标,客户机的地址,访问的时间等进行过滤控制)

 

 

3代理的基本类型

传统代理:需要在客户机的浏览器、相关的工具上手动设置代理服务器的地址和端口,访问的网页域名也是由代理服务器进行解析的

透明代理:客户不需要指定代理服务器的地址和端口,而是通过网关,由防火墙的重定向策略将用户的请求交给代理服务器处理;域名解析有客户机完成

实验要求:

1.所有的局域网pc通过共享ipip地址为200.1.1.1)的方式接入internet,用于非web访问协议的访问(如dnsftpmail等等)

2.当局域网pc访问internet中的web站点(80443端口)时,自动使用代理

3.针对局域网pcweb访问进行控制,主要要求如下。

禁止下载扩展名为.3pg .mp4.f4v.mkv.rmvb.avi的视频文件

超过4MB大小的文件不尽兴缓存,禁止下载超过10MB的文件

设置网站黑名单,禁止访问位于.qq.com.msn.com域下的web站点

允许在正常的上班时间(周一到周五的8:30~17:30)使用代理服务

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

 

一、安装squid

1.解压(挂载squid光盘)

技术分享 

2.配置、编译、安装

技术分享 

 

--sysconfdir= /etc  //单独将配置文件修改到其他目录

--enable-linux-netfilter  //使用内核过滤

--enable-linux-tproxy  //支持透明模式

--enable-err-languge=....   //错误信息的显示语言

--enable-underscore  //允许URL中有下划线

--enable-poll   //使用poll()模式

--enable-gnuregex  //使用GNU正在表达式

 

3.创建连接文件、创建用户和组

 

技术分享 

4.编辑squid配置文件

[root@centos2 squid-3.4.6]#vim /etc/squid.conf

省略部分内容

cache_effective_user squid   //指定squid程序用户

cache_effective_group squid  //程序基本组账户,需要手工添加

visible_hostname centos2.benet.com  //手工添加主机名,,需要手工添加

cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256 //设置缓存目录的大小,一级子目录和二级子目录的个数(默认有此项,去点前面的#

5.squid的运行控制

1)检查配置文件语法是否正确

 

技术分享 

 

2)启动 停止 squid

// -z 用来初始化缓存目录

 

 

技术分享 

 

技术分享 

 

启动服务

技术分享 

 

 

二、构建代理服务器

(一)传统代理

技术分享 

1.squid服务器的配置

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

技术分享 

http_access allow all    //允许任意客户机使用代理服务器,放在http_access deny all前面(注意不加也可以,如果客户机地址正好时192.168.段就不用加,因为在squid.conf中有一个acl localnet src 192.168.0.0/16http_access allow localnet

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

技术分享 

 

(3)配置dns服务器,为web站点注册域名www.benet.com

技术分享 

 

(4)squid代理服务器上填写好dns服务器的地址(这一点特别注意,要求代理服务器本身可以解析域名)

#vim  /etc/resolv.conf

技术分享 

 

(5)重启squid代理服务

技术分享 

2.客户机的代理配置

1)客户机不用填写网关和dns服务器地址,完全由squid代理解析

  在浏览器中 选择 “工具” lnternet选项,弹出lnternet选项对话框,在“连接”选项卡中“局域网LAN”设置

技术分享 

 

2)代理服务的验证方法

①查看squid访问日志的新增记录

技术分享 

 

 

技术分享 

 

②查看web访问日志的新增记录

技术分享 

注意:当客户机再次访问同一个web页面时,squid访问日志会增加新的记录,web访问日志中的记录不会发生变化(除非页面变更或执行强制刷新等操作),这说明当客户机重复访问同一个静态页面时,实际上是由代理服务器通过缓存提供的


本文出自 “12179708” 博客,谢绝转载!

squid代理(传统代理)