天天看点

squid代理之<正向/透明代理>

    Squid Cache(简称为Squid)是一个流行的代理服务器和Web缓存服务器软件。Squid有广泛的用途:从作为网页服务器的前置缓存服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网、域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。

                                           -----<引用自维基百科>

简而言之Squid就是:当你发送下载一个web页面的请求时,squid接收你的请求,然后代理你下载页面并返回给你,同时把你请求下载的web复制一份到本地磁盘,等到下一次squid收到下载同一个web页面请求时,不去请求服务器,直接读取本地磁盘数据,减轻服务器负载。

当前的Squid可以处理HTTP,FTP,GOPHER,SSL等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西.

squid配置文件解释:

/etc/squid/squid.conf

    http_port 3128 (还可以只监听一个一个ip  http_port 192.168.0.1:3128)

    cache_mem 64MB      /缓存占内存大小

    maximum_object_size 4096KB      /最大缓存块

    reply_body_max_size  1024000 allow all  /限定下载文件大小

    access_log /var/log/squid/access.log   /访问日志存放的文件

    visible_hostname  proxy.test.xom  /可见的主机名

    cache_dir ufs /var/spool/squid 100 16 256

        usf:缓存数据的存储格式

        /var/spool/squid 缓存目录

        100 : 缓存目录占磁盘空间大小(M)

        16 :缓存空间一级子目录个数

        256 :缓存空间二级子目录个数

    cache_mgr root@localhost  /定义管理员邮箱

    http_access deny all   /访问控制

简单的来说squid可以做正向代理,反向代理,透明代理三种。

一、正向代理

主要应用于局域网内部对外的访问代理。

作用:减少带宽占用,增加访问速度,进行访问控制;

squid代理之<正向/透明代理>

步骤:

1,服务器配置

Vim/etc/squid/squid.conf

httpd_port  3128                    //接收web请求的端口

access_log  /var/log/squid/access.log   //指定日志位置

http_access allow all                   //允许http_access表的用户通过访问

2,把所有客户端PC指向代理服务器(浏览器->工具->选项->连接->局域网设置->代理服务器)

透明代理

如果你还在为PC指向代理服务器的的大量频繁操作苦恼,那你现在就需要这个透明代理啦!透明代理不需要PC指向代理,只要在squid服务器上简单修改iptables策略就可以啦!对于PC根本不知道代理存在!

透明代理与正向代理配置大概相同。

http_port 3128 transparent  //指定Squid监听浏览器客户请求的端口号

开启转发:

echo 1>/proc/sys/net/ipv4/ip_forward   开启转发

iptables -t nat -A PREROUTING-p tcp --dport  80 -j REDIRECTORY -dport –to3128 目标端口转换

继续阅读