查了查bsd应用手册,看了下ipfw节。总结一下
一、编译了内核
cp一个内核代码出来然后主要添加:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options “IPFIREWALL_VERBOSE_LIMIT=100”
options IPFIREWALL_DEFAULT_TO_ACCEPT
上面4项第一项就是用于打开基本的包过滤支持的,让内核支持包过滤。第二和第三项是让其记录包过滤和过滤的限制。第四项是设置IPFIREWALL的缺省行为。我这里为accept。
二、就是设置rc.conf和规则了。
主要添加 ipfirewall_enable="yes"
这句是让系统开启就启动ipfirewall
ipfirewall_script="/etc/ipfw.rules"
IPFW的规则文件地址。呵呵这个文件是个以#!/sbin/sh开头的哈
嘿嘿,就为这个我搞了好久我的ipfw规则才生效。郁闷……
ipfirewall_type="open" 这句我也搞不懂
ipfirewall_loggin="yes"这个是开启ipfw的记录。
三、嘿嘿就是在ipfw.rules里面也规则了噻。大概就是这些了。
不明白那个规则里面那个VIA是什么意思?我总要认为是威盛。
找到了,匹配ipv4的通用协议。
recv | xmit | via {ifX | if* | ipno | any}
匹配接受的包,分别的转输或是通过,接口被将由精确的名字(ifX)和设备名字(if*)所定义,还可以由ip或一些其它的接口定义。
via这个关键字就是说,所有的接口总是要被检查的。如果是recv or xmit取代了via则表示只接受,或只转发,这就有可能匹配包是基于接受和转发的接口上的。例如:
ipfw add deny ip from any to any out recv ed0 xmit ed1
recv接口可以测试在通过他们所进出的包,所以只要xmit在使用中,出就会被请求(没有进)。
阅读(1369) | 评论(1) | 转发(0) |