环境描述:内网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
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
转载于:https://blog.51cto.com/heavendw/199704