CentOS6.6系统的二级(三级)透明代理配置在本人的教学工作中,需要介绍代理服务器的实用技能,现针对squid二级透明代理的配置,作一详细介绍:1、网络环境:二级代理和三级代理的配置原理是一样的,我的下图是针对三级代理来配置的。电脑上可以用CentOS系统,并创建一个KVM虚拟机,完成三级代理的练习。第二级代理已经建好,并指向第一级代理。2、安装squid在已经建立本地yum源的前提下,安装squid十分简单:#yum-yinstallsquid开启服务:#servicesquidstart#chkconfigsquidon3、Squid配置:如果是普通的一级代理服务器,只要4句话即可实现squip代理服务器:http_accessallowallhttp_port8080(这里的8080是侦听端口号)cache_mem256MBcache_dirufs/var/spool/squid102416256如果一级代理是透明代理,上述配置文件有所不同。对于二级代理服务器,应该配置成透明代理才实用,因为浏览器等不能设置两个串联的代理服务器,所以我们应该把第二级代理设置成透明代理。需要注意的是二级透明代理和一级透明代理是完全不同的,用法也不同。本文只涉及二级(或三级)透明代理。可以重写squid.conf文件的所有内容,写入以下4句内容:cache_peer<上一级代理IP地址>parent80800no-querydefaulthttp_accessallowallnever_directallowallhttp_port3128transparent(3128是二级透明代理的侦听端口)注意以上格式和数字的含义。4、防火墙设置:首先开启代理服务器的侦听端口,譬如:3128#iptables-IINPUT5-mstate--stateNEW-mtcp-ptcp--dport3128-jACCEPT建议再打开一些端口:DHCPserver的端口号是67DNS的端口号是53将到达目标80端口的请求都重定向到squid的8080端口iptables-tnat-APREROUTING-s0.0.0.0/0-ieth0-ptcp-mtcp--dport80-jREDIRECT--to-port8080设定内网地址替换成上联网卡地址(地址伪装):iptables-tnat-APOSTROUTING-s0.0.0.0/0-oeth1-jMASQUERADE注意网卡接口和几个端口号的关系:eth0是面向内网接口(下级接口)eth1是面向外网接口(上级接口)80端口是http默认端口8080端口这里是上一级squid代理服务器的侦听端口(默认是3128,已更改)3128是二级透明代理服务器的侦听端口(默认就是3128)如果还有第三级透明代理,可以另外指定,但避免端口重复造成理解和配置的混乱。5、打开“转发”功能。让数据包能在不同的网卡间“流动”。需要打开转发规则:echo1>/proc/sys/net/ipv4/ip_forward(临时有效)如果需要永久生效,则用vi/etc/sysctl.conf修改文件,修改/etc/sysctl.conf文件使之永久生效:net.ipv4.ip_forward=1#sysctl-p(立即生效)6、在浏览器上进行测试在浏览器上可以配置代理,只要使用二级代理就可以了。这里的10.9.17.96就是二级透明代理。实际上它将转发数据到一级代理服务器,端口号是8080。再由一级代理发往外部网络。试试看,可以上网了。