首页 > xNix平台, 绝对原创 > 利用panabit+freebsd+ipfw做流控防火墙

利用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这种写法,我今天这么搞结果把我自己关在外面,囧

  1. ipfw
    2009年3月29日16:55 | #1

    楼主有无真正实验过。我在panabit官方论坛上也搜到panabit不支持跟ipfw协作使用。
    我没做成功,只能阻止计算机对ipfw这台主机的访问。不能阻止对外网的访问,也就是说没做成透明防火墙。

    回复

    甜蚂蚁 回复于 03月 29th, 2009:

    @ipfw, 测试过,可以组织,ipfw可以在桥上控制,pf不行

    回复

  2. 匿名
    2009年3月29日17:17 | #2

    我是说和panabit一起,你是不是就装了ipfw,而没有和panabit一起测试呢?

    回复

  3. ipfw
    2009年3月29日18:09 | #3

    楼主能不能测试下呢?这方面的资料实在是太少了。
    我搜了好久,只搜到你用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:

    @甜蚂蚁, 谢谢谢谢,晚上再研究研究下。

    回复

  4. ipfw
    2009年3月29日21:20 | #4

    我是先装好panabit后再配置ipfw的。跟你这里的顺序相反。
    我以为是这个问题,所以按你这个顺序重装了一次。
    即先配置ipfw后再装panabit。
    结果仍然不行

    回复

    匿名 回复于 03月 29th, 2009:

    @ipfw, 无所谓的,我也是先装panabit然后装ipfw的

    回复

  5. ipfw
    2009年3月31日23:48 | #5

    还是没成功,没启用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不限制

    回复

  1. 本文目前尚无任何 trackbacks 和 pingbacks.