配置 Squid代理服务器实现基本代理
需要有两个不同网段的地址,并且我是实现10.1.1.0网段访问,192.168.1.0网段的192.168.1.31 的web服务器
检查 IP 地址,安装软件:
[root@localhost ~]# ifconfig
eth0       Link encap:Ethernet   HWaddr 00:0C:29:E6:F5:C8   
           inet addr:10.1.1.4    Bcast:10.255.255.255    Mask:255.0.0.0
eth1       Link encap:Ethernet   HWaddr 00:0C:29:E6:F5:D2   
           inet addr:192.168.1.33   Bcast:192.168.1.33   Mask:255.255.255.0
[root@localhost ~]# rpm -qa |grep squid
[root@localhost ~]#
[root@localhost Server]# rpm -ivh squid-2.6.STABLE21-6.el5.i386.rpm
//软件包在redhat的光盘中的Server文件夹中
------------------
[root@localhost ~]# vim /etc/squid/squid.conf  //确认或添加以下各行配置内容

http_port 3128 //代理服务的端口号
visible_hostname localhost.localdomain
maximum_object_size_in_memory 4096 KB  //  保存到缓存的最大对象大小,单位:KB
reply_body_max_size 10240000 allow all   //  禁止下载超过10M的文件
http_access allow all           //一定放在http_access deny all的前面

启动服务:
[root@localhost ~]# service squid start

真机上使用 HFS 模拟 WEB 服务器  //HFS是一个快速行的列表型网站,非常适合测试,可以直接把文件放到HFS上面尽心下载测试

局域网的PC机配置IE浏览器,要在Internet 属性--->连接--->局域网(LAN)设置--->局域网设置
在代理服务器选项中,勾选 “为LAN使用代理服务器” 输入地址和端口

然后访问 http://192.168.1.31 可以尝试下载文件,看看限制是否成功
并且HFS上面也有访问记录,可以很方便的查看的
查看 Squid 代理的访问日志:
[root@localhost ~]# tail /var/log/squid/access.log 
1293245293.702       9  10.1.1.100  TCP_MISS/200  915  GET  http://192.168.1.31/~img41  -
DIRECT/192.168.1.31 p_w_picpath/gif
------------------------------
配置Squid代理服务器实现透明代理
[root@localhost ~]# vim /etc/squid/squid.conf
http_port 10.1.1.4:3128 transparent     //修改这一行配置
[root@localhost ~]# service squid restart
停止  squid:                        [确定]
启动  squid:                        [确定]
开启路由转发功能:
[root@localhost ~]# vim /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p
添加 iptables 防火墙策略:
[root@localhost ~]#
[root@localhost ~]# iptables -t nat -I PREROUTING -i eth0 -s 10.0.0.0/8 -p tcp --dport 80 -j
REDIRECT --to-ports 3128 
[root@localhost  ~]#  iptables  -t  nat  -I  POSTROUTING  -s  10.0.0.0/8  -o  eth1  -j  SNAT 
--to-source 192.168.1.33

局域网PC机配置:
要将网关指向10.1.1.4   DNS指向192.168.1.1
浏览器去除 设置代理
然后访问 192.168.1.31 或者公网网址
再次查看 Squid 代理的访问日志:
[root@localhost ~]# tail /var/log/squid/access.log 
1293251058.298       62 10.1.1.100 TCP_HIT/200 727 GET http://www.baidu.com/img/arr.gif  -
NONE/- p_w_picpath/gif
1293251058.359         60  10.1.1.100  TCP_MISS/200  4037  GET
http://www.baidu.com/js/bdsug.js? - DIRECT/119.75.217.56 application/javascript
[root@localhost ~]#

有关SNAT和DNAT就是添加iptables的策略,本人对iptables还不是很熟练,所以请等待日后更新