squid 的配置详解 (转)--SeriesIV

来源:互联网 发布:cyc指标源码dzh 编辑:程序博客网 时间:2024/06/06 07:01

透明代理

有一种称为透明代理的方案,可以让内部用户不用设置代理服务器地址和传输端口,当客户端连接到网络的时候,感觉可以象直接上网一样,实际上却是通过代理服务器浏览网页,这种透明的方式可以解决内部网络的设置问题,让用户丝毫不感觉代理服务器的存在。

就技术层面而言,要将SquidProxy设置为透明模式,实际上是在NAT路由器上,将用户的HTTP请求(TCP端口80)重定向到SQUIDPROXY传输的HTTP PORT上(TCP类型PORT3128),当然这需要在/ETC/SQUID/SQUID.CONF文件里对HTTP_ACCEL功能做一些设置。要将SQUID作成具有透明功能的代理服务器,其设置步骤如下:

 

1#ipchains -A input -p tcp -d 0.0.0.0/80 -j REDIRECT 3128

2)修改/etc/squid/squid.conf里的四项设置如下所示:

1.httpd_accel_host virtual

2.httpd_accel_port 80

3.httpd_accel_with_proxy on

4.httpd_accel_uses_host_header on

 

3)重新启动SQUID

请注意上述第一点中的IPCHAINS的规则来说,无论来源是谁只要到anywhere提出http请求,目的地为(0.0.0.0/0 80),都将请求重新定向到端口,3128。第二点是将Squid配置里面有关HTTP重定向功能打开,其意义是用SQUID PROXYHTTP请求的加速处理

设置完成以后,请记住将客户端的网管器(GATEWAY)指向NAT ROUTER当客户端提出HTTP的传输请求之后,客户端就会将封包传输到NAT ROUTER,此时在NAT router上会自动将传输的HTTP封包后的PORT80重定向到PORT 3128,这样一来,传输网页的工作就会利用SQUID来完成

 

注释:

有关NAT ROUTER的设置,请参考关于防火墙相关的讲解

看了以上设置透明代理的方法后,相信您会觉得SQUID真是一套功能强大的代理服务器,下面简单的说明设置透明代理店的四条命令的含义:

#用法:httpd_accel_host [virtual] [hostname]

1.httpd_accel_host hostname

ttpd_accel_host virtual ;用来设置虚拟HTTPD SERVER

 

2.httpd_accel_port 80;在TCP80端口监听HTTP请求

 

3.httpd_accel_with_proxy on;使用PROXY 加速HTTP的传输

 

4.httpd_accel_uses_host_header on;设置允许使用http的”hostHeader“信息,作为加速http传输的根据,绝大部分http都支持这一项目