环境描述:内网eth1:192.168.0.1,DMZeth0:10.100.143.254,再通过硬件防火墙NAT访
                      问internet。
1、安装squid
2、配置squid
      1、squid不缓存指定url和网站  
      acl sina dstdomain www.sina.com.cn      /* 首先用acl定义不想cache的地址*/
       no_cache deny sina        /*然后用no_cache设置*/
          或者
       acl yoursite urlpath_regex www\.yoursite\.com
       no_cache deny yoursite

        另一个方法
         一般不缓存根就可以,如常见的Discuz!论坛,只要不缓存
              bbs.linuxtone.org 这样的形式的URL就可以。
如下参考:
#deny cache
hierarchy_stoplist cgi-bin ? \.php
acl QUERY urlpath_regex cgi-bin\? \.php \.css
acl DIRECT url_regex -i ^http:\/\/bbs\.linuxtone\.org\/$
acl DIRECT url_regex -i ^http:\/\/bbs\.linuxtone\.org\/.*$
acl DIRECT url_regex -i ^http:\/\/bbs\.linuxtone\.org\/index\.html$
cache deny QUERY
cache deny DIRECT
3、开启NAT转发功能
              方法一:修改/proc下内核参数文件内容 
              直接修改内核参数ip_forward对应在/proc下的文 件/proc/sys/net/ipv4/ip_forward。用下面命令查看ip_forward文件内容: 
# cat /proc/sys/net/ipv4/ip_forward 

该文件默认值0是禁止ip转发,修改为1即开启ip转发功能。修改命令如下: 
# echo 1 >/proc/sys/net/ipv4/ip_forward 

修改过后就马上生效,即内核已经打开ip转发功能。但如果系统重启后则又恢复为默认值0,如果想永久打开需要通过修改/etc/sysctl.conf文件的内容来实现。 

            方法二.修改/etc/sysctl.conf文件 

默认sysctl.conf文件中有一个变量是 
net.ipv4.ip_forward = 0 

将后面值改为1,然后保存文件。因为每次系统启动时初始化脚本/etc/rc.d/rc.sysinit会读取/etc/sysctl.conf文件的内容,所以修改后每次系统启动时都会开启ip转发功能。但只是修改sysctl文件不会马上生效,如果想使修改马上生效可以执行下面的命令: 

# sysctl –p 

 
4、配置iptables
       把80端口的包全部转向3128端口
        iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128
        动态地址转换
       iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
        保存iptables
       service iptables save