利用panabit+freebsd+ipfw做流控防火墙
panabit作为比较彪悍的流控防火墙就不介绍了,官方的安装文档也非常详细,而且安装超级傻瓜,效果也很不错,虽然免费版只支持256个ip,不过也足够了,但是panabit作为防火墙却弱了些,比如要封禁某个目标ip地址,panabit就比较麻烦,要在web界面上写规则,这个是很痛苦的,我一直认为web界面配置些不常用的东西还可以,比如samba的swat,用一次以后就不用了,还是写规则来的方便,但是freebsd的pf不支持网桥(桥接,或者说混杂模式)的带宽管理和流量控制,于是只能借助ipfilter或者ipfw,这里我就用ipfw来简单的说一下panabit和ipfw的结合应用
首先安装ipfw
vi /etc/sysctl.conf
加入
net.link.ether.bridge_ipfw=1
vi /etc/rc.conf
加入以下行
firewall_enable=”YES”
firewall_logging=”YES”
firewall_script=”/etc/ipfw.rules”
这个时候千万别重启,否则你就被关在外面了,除非你去服务器那disable ipfw
vi /etc/ipfw.rules
ipfw -q -f flush
cmd=”ipfw -q add”
$cmd 10000 allow all from any to any
这个时候就可以重启了,注意这儿给出的是不编译内核启用ipfw的方法,如果你喜欢编译内核可以去狗狗编译启用ipfw的方法,这个到处都是,就不说了
重启服务器以后可以用ipfw list看一下规则加载了没有,如果要编辑规则,vi /etc/ipfw.rules即可,例子可以参考/etc/rc.firewall,编辑后重新加载规则的命令是
sh /etc/ipfw.rules
这个安装好以后,安装panabit(注意panabit最高只能运行在freebsd6.3上),到此就可以用panabit做流控,然后用ipfw的pipe做各网段的总流量限制或者单个ip/单个网络应用的封闭
还有ipfw的rules不支持192.168.0.1-56这种写法,我今天这么搞结果把我自己关在外面,囧
楼主有无真正实验过。我在panabit官方论坛上也搜到panabit不支持跟ipfw协作使用。
我没做成功,只能阻止计算机对ipfw这台主机的访问。不能阻止对外网的访问,也就是说没做成透明防火墙。
回复
甜蚂蚁 回复于 03月 29th, 2009:
@ipfw, 测试过,可以组织,ipfw可以在桥上控制,pf不行
回复
我是说和panabit一起,你是不是就装了ipfw,而没有和panabit一起测试呢?
回复
楼主能不能测试下呢?这方面的资料实在是太少了。
我搜了好久,只搜到你用panabit+ipfw的。
回复
甜蚂蚁 回复于 03月 29th, 2009:
@ipfw, 囧,我现在就在用panabit+ipfw做控制,不过ipfw的带宽控制没测试,因为我的硬防上面有带宽控制
回复
匿名 回复于 03月 29th, 2009:
@甜蚂蚁, 那我的怎么不行呢?我是按照你的教程做的。我的接了5块网卡,1个管理,另外分别是2、3网桥1跟4、5网桥2。
回复
匿名 回复于 03月 29th, 2009:
@甜蚂蚁, 比如我添加ipfw add 100 deny all from 192.168.0.5 to 202.96.134.134,而192.168.0.5这台电脑照样能ping通202.96.134.134好像一点影响都没有。
回复
匿名 回复于 03月 29th, 2009:
@, net.link.ether.bridge_ipfw=1
桥控制启动了没
回复
匿名 回复于 03月 29th, 2009:
@, 加了
回复
匿名 回复于 03月 29th, 2009:
@甜蚂蚁, 要怎样看net.link.ether.bridge_ipfw=1
有没有启动呢。
另外,还有什么要注意的地方吗
回复
匿名 回复于 03月 29th, 2009:
@, 您看了内容了么,在sysctl里面加上就可以
sysctl -p可以看是否已经加上了
回复
ipfw 回复于 03月 29th, 2009:
@, 确定在vi /etc/sysctl.conf加了
sysctl -p 的结果如下
#sysctl -p
sysctl: illegal option –p
usage: sysctl [-bdehNnoqx] name[=value]…
sysctl [-bdehNnoqx] -a
#
回复
ipfw 回复于 03月 29th, 2009:
@ipfw, 这种是不是没有加载啊
,可我明明是在/etc/sysctl.conf添加了的,反反复复已查了n遍了
回复
甜蚂蚁 回复于 03月 30th, 2009:
@ipfw, 你看看ipfw打开了没有
回复
ipfw 回复于 03月 30th, 2009:
@甜蚂蚁, 确认打开了,而且可以控制对装ipfw的本机访问.
回复
甜蚂蚁 回复于 03月 30th, 2009:
@ipfw, 看这里吧,参考
http://www.kuqin.com/article/38proxy/559936.html
回复
ipfw 回复于 03月 30th, 2009:
@甜蚂蚁, 谢谢
,晚上再研究
下。
回复
我是先装好panabit后再配置ipfw的。跟你这里的顺序相反。
我以为是这个问题,所以按你这个顺序重装了一次。
即先配置ipfw后再装panabit。
结果仍然不行
回复
匿名 回复于 03月 29th, 2009:
@ipfw, 无所谓的,我也是先装panabit然后装ipfw的
回复
还是没成功,没启用panabit时ipfw可以做透明桥使用,也可以阻止访问。但只要一启用panabit,ipfw就不起作用了,或者如官方论坛说的,panabit的桥是单独做的。
回复
甜蚂蚁 回复于 04月 1st, 2009:
@ipfw, 如果是这样的话,四网卡,前面两个桥接做ipfw,后面两个做panabit
回复
匿名 回复于 04月 1st, 2009:
@甜蚂蚁, 我的是双线,所以要两个网桥。
回复
甜蚂蚁 回复于 04月 1st, 2009:
@, 其实我觉得你可以考虑海蜘蛛
回复
匿名 回复于 04月 1st, 2009:
@甜蚂蚁, 那个功能太简单了
回复
甜蚂蚁 回复于 04月 1st, 2009:
@, 我的意思是串两个做海蜘蛛,两个做panabit,我现在是四网卡两个串pfsense,两个做panabit
回复
ipfw 回复于 04月 1st, 2009:
@甜蚂蚁, 我的是双网段物理分开的(双网段交换数据要经过路由器),每网段就要串两个网卡了。现在只用panabit就用了四张网卡。照你的意思那不是要八个网卡
回复
甜蚂蚁 回复于 04月 2nd, 2009:
@ipfw, 在路由的前面接panabit,如果你不需要做流量分析的话,流量分析可以考虑旁路
回复
ipfw 回复于 04月 2nd, 2009:
@甜蚂蚁, 就是要流量分析,另外还要对某些ip限制,某些ip不限制
回复