IPFireWall(简称:IPFW),IPFW 是为 FreeBSD 编写的状态防火墙
数据包处理流程:
首先:会将其与规则集中的第一个规则进行比较,并一次处理一个规则,按顺序从上到下移动。
当数据包与规则的选择参数匹配时,将执行规则的操作,并终止对规则集的搜索以查找该数据包。这被称为“首次匹配成功”。
如果数据包与任何规则都不匹配,则会被强制使用IPFW 默认规则(编号:65535)捕获,该规则会拒绝所有数据包并以静默方式丢弃它们。
但是也有例外,如果数据包与包含
count
、skipto
或tee
关键字的规则匹配,则搜索将继续。
警告⚠️:以下规则,不适用于部分云服(即, 如果Freebsd系统中ifconfig看不到公网IP的网卡,请禁止🚫使用)
1. 自定义规则集文件
cat /etc/ipfw.rules
1 |
|
注意事项:
- 规则第2列RULE_NUMBER取值范围: 1-65534,用于规则的处理顺序,多个规则如果编号相同则并行处理。
- 防火墙默认规则:拒绝
2. 启用IPFW
1 | #---------注:以下命令将会把参数写入/etc/rc.conf文件中(当然也可以手动粘贴到文件中)---------------# |
规则记录次数限制
1 | #限制每次连接尝试记录规则的次数(需要重启系统生效) |
日志
1 | #使用 tcpdump 查看正在记录的实时内容 |
启用IPFW
1 | service ipfw start|stop|restart|status |
3.IPFW常用命令
1 | #列出所有正在运行的规则 |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2022/07/28/IPFW防火墙-FreeBSD/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!