15.4 ipfirewall(IPFW)
IPFIREWALL (IPFW,IP 防火墙) 是一款由 FreeBSD 发起的防火墙应用软件,它由 FreeBSD 项目编写和维护。
ipfw 在基本系统的内核(GENERIC)作为可加载模块而存在。
警告
IPFW 默认会有一条规则,规则号为
65535,是不可以删除的:这条规则会把所有流量都切断。故在未配置好防火墙前,请勿启动 IPFW,否则就会面临被阻挡在防火墙之外的麻烦。
服务项
开机自动启动防火墙相应的内核模块:
# sysrc firewall_enable="YES" # 参见 https://github.com/freebsd/freebsd-src/blob/main/libexec/rc/rc.d/routing#L387或者
# service ipfw enable # 须重启后生效启动 ipfw:
# service ipfw start
Firewall rules loaded.
Firewall logging enabled.
ifconfig: interface ipfw0 already exists
Firewall logging pseudo-interface (ipfw0) created.查看 ipfw 状态:
# service ipfw status
ipfw is enabled其他 RC 配置
按上面的配置后的规则:
编辑 /usr/local/etc/ipfw.rules 文件
/usr/local/etc/ipfw.rules 文件指定防火墙规则:
每一条规则的结构基本都是:
① 按优先级排序,数字越小优先级越高,可优先覆盖相同的、数字大的规则。
$cmd 500 deny log all from any to any ——> ipfw add 500 deny log all from any to any
注意
ipfw 命令是一次性的,它会在执行时即时生效,但不会永久保存规则。你须写入指定的规则文件。
我们可以把默认拒绝的规则
65535 deny ip from any to any改成默认允许
查看 ipfw 规则
最后更新于
这有帮助吗?