UP | HOME

ipfirewall (IPFW)

Table of Contents

本节内容未经实际测试,仅理论验证通过

请勿直接用于生产环境!建议在测试环境中验证后再用于生产部署

IPFirewall IPFW,IP Firewall 是为 FreeBSD 编写的状态防火墙,也是 FreeBSD 中最早的包过滤软件

IPFW 最初由 Daniel Boulet 为 BSDI(Berkeley Software Design, Inc.)编写 API

后由 Ugen J. S. Antsilevich 大幅修改并移植到 FreeBSD,当前的 ipfw2 版本由 Luigi Rizzo 于 2002 年夏季为 FreeBSD 重写

IPFW 未包含在 GENERIC 内核中,但以可加载内核模块 ipfw.ko 的形式提供,也可通过内核配置选项 options IPFIREWALL 编译进自定义内核。

作为 FreeBSD 原生防火墙,IPFW 采用基于规则编号的优先级机制。规则编号越小,优先级越高,可覆盖编号较大的规则

IPFW 默认包含一条规则,规则号为 65535,不可删除,该规则会阻断所有未匹配的流量

可通过内核编译选项 IPFIREWALL_DEFAULT_TO_ACCEPT 或在 /boot/loader.conf 中设置可调参数 net.inet.ip.fw.default_to_accept 来改为允许此默认行为

重启后生效,无法在运行时通过 sysctl 修改。

将默认策略改为 允许 在生产环境中极为危险:任何未显式匹配的流量都会被放行,等同于防火墙形同虚设

此配置仅适用于测试环境,切勿在生产环境中使用

同时,在防火墙配置完成之前,切勿启动 IPFW,以免被阻断在防火墙之外

启用 IPFW