squid的代理服务器之透明代理

Squid是一种在Linux系统下使用的优秀的代理服务器软件

  Squid的作用有三种:

1、连接Internet与Intranet 充当firewall(防火墙):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置 IP地址过滤,限制内部网对外部的访问权限;另外,两个没有互联的内部网,也可以通过第三方的代理服务器进行互联来交换信息。

2、共享因特网连接,节省IP开销:如前面所讲,所有用户对外只占用一个IP,所以不必租用过多的IP地址,降低网络的维护成本。这样,局域局内没有与外网相连的众多机器就可以通过内网的一台代理服务器连接到外网,大大减少费用。当然也有它不利的一面,如许多网络黑客通过这种方法隐藏自己的真实IP地址,而逃过监视。

3、提高访问速度,节约通信带宽。而且通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,从而达到提高访问速度的目的。

再让我们说一下透明代理的过程:

让我们现在来想象一个联机状态,就是你有一整组内部网络,而这个内部网络都是透过 NAT 主机联机出去的。当客户经过 squid 服务器来联机进入 Internet 时,假如使用的 Internet 协议为 80 (也就是 WWW) ,那么就将这个要求交给 squid来工作,以达到代理服务器的功能。

也就是说,当客户端是经过 squid机器联机出去时,只要让 squid机器发现,那么这个动作由 squid机器帮你搞定!如此一来,客户端根本就不需要在浏览器上面配置 代理服务的相关信息,所以只要在squid代理服务器的机器上面配置妥当即可,这样客户端不必配置任何东西!

好了下面我们看看squid透明代理的相关配置;

(squid的控制功能的详细配置请看http://sf418.blog.51cto.com/5627295/979570)

(squid反向代理的详细配置请看http://sf418.blog.51cto.com/5627295/979571)

简易图:

wps_clip_image-2914

先在linux系统上的环境:

两块网卡eth0和eth1;

内网卡:

wps_clip_image-5547

外网卡:

wps_clip_image-30975

然后看和外网通信情况:

wps_clip_image-26860

证明linux和外网连接正常,好了,linux环境很好,开始linux机器上搭建squid代理服务器;

创建一个光盘挂载点:

wps_clip_image-10781

wps_clip_image-22417

进入Server目录,安装squid:

wps_clip_image-20559

wps_clip_image-9782

编辑squid配置文档:

wps_clip_image-22989

因为它是默认拒绝所有,所有添加一行命令,允许所有:

wps_clip_image-32278

修改919行命令,透明代理:

wps_clip_image-30527

保存退出;

wps_clip_image-12331

要让启动nat转换功能::

wps_clip_image-21729

wps_clip_image-576

使用这个命令让nat转发功能生效:

wps_clip_image-18890

另外我们还得实现dns解析:

-t表示一种表格,这里指nat表格;-A 表示要追加一个规则;-p表示一种协议;--dport 表示端口号;-o 表示out ,后面是端口;-j 表示要做什么,MASQUERADE表示是地址伪装;一般还有个参数是-s 表示原地址ip或地址段的,不写表示默认所有all。

wps_clip_image-23973

最后,我们做80端口的提取,把80端口出现的信息都提取给端口(3128)squid代理服务器(就像是端口重定向);

wps_clip_image-5721

查看信息:

wps_clip_image-13409

打开一个xp系统的机器,当做内网的客户机:

填写ip信息,其中网关,有效的dns必须填写:

wps_clip_image-21266

测试客户机上网情况:

wps_clip_image-22804

好了,说明squid的代理服务器做成功了;

你可能感兴趣的:(squid的透明代理)