ipf+squid透明代理个别不限其余均限制的方法

2009-05-13 12:39:03来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

针对论坛一兄弟提出的问题,实现以下目的:
ipf+squid作
[url=javascript:;]透明代理[/url]
,限制用户只能访问一些固定的网址,但对于某几个特殊ip,不受限制,让他们可以访问所有网站。
解决方案:
利用
[url=javascript:;]squid[/url]
的acl即可解决,特殊ip以src的acl来实现,放在规则集前门,其余的以dstdomain acl来限制。
实验过程:
两台虚拟机,一个FreeBSD7.0,双网卡,外网le0,地址1.2.3.4(代替下,呵呵),内网卡le1,地址66.66.66.1(看着爽,哈哈)
一个XP,单网卡,地址66.66.66.2,网关是66.66.66.1
1:启用ipfilter
两种方法:
第一种是以
[url=javascript:;]内核[/url]
模块的形式加载
在/etc/rc.conf里面加上ipfilter_enable="YES",在/etc/rc.local里面加入:
kldload ipl.ko
[url=javascript:;]ipf[/url]
-Fa -f /etc/ipf.rules
ipnat -CF -f /etc/ipnat.rules
第二种是重新编译内核
options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCK
加入这些重新编译内核。
2:ipf.rules
这个要根据自己的实际情况而定,只开放你希望开放的端口即可,这个规则要复杂了,还应该有限制那些病毒常见的端口,限制私网地址流量等等。
我实验用,所以pass all了,呵呵。
3:ipnat.rules
rdr le1 0.0.0.0/0
[url=javascript:;]port[/url]
80 -> 127.0.0.1 port 3128
map le0 66.66.66.0/24 -> 1.2.3.4/32 proxy port ftp ftp/tcp
map le0 66.66.66.0/24 -> 1.2.3.4/32 portmap tcp/udp 1025:65500
map le0 66.66.66.0/24 -> 1.2.3.4/32
4:squid.conf
acl a dstdomain .bsdlover.cn                              
acl b src 66.66.66.3/32
http_access allow b
http_access deny !a
这个就能实现66.66.66.3这个机器不受限制的访问网站,而其他的就只能访问bsdlover.cn,嘿嘿
抓个图,这是受限的提示:


error.JPG


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4206/showart_519084.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:解决apache Failed to enable the ‘httpready’ Accept F

下一篇:FreeBSD实现jsp环境