中国青基会
RSS
热门关键字:    solaris  关键字  grub  网线插座
当前位置 : Nixsky>服务器>其他服务器>列表

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

来源: 作者: 时间:2008-06-06 点击:
针对论坛一兄弟提出的问题,实现以下目的:
ipf+squid作透明代理,限制用户只能访问一些固定的网址,但对于某几个特殊ip,不受限制,让他们可以访问所有网站。

解决方案:
利用squid的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

两种方法:
第一种是以内核模块的形式加载
在/etc/rc.conf里面加上ipfilter_enable="YES",在/etc/rc.local里面加入:
kldload ipl.ko
ipf -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 port 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,嘿嘿
上一篇:squid优化建议
下一篇:没有了
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册