15.3 IPFilter(IPF)
IPF(IPFilter,IP 过滤器)是一款开源软件,作者 Darren Reed。以下仅供参考,未经测试。
启用 IPF 防火墙
如果想启用 IPF,可以执行以下命令:
# 复制示例文件作为默认配置规则集文件,否则 ipfilter 启动后会没有规则。示例文件自带的规则不影响使用
# cp /usr/share/examples/ipfilter/ipf.conf.sample /etc/ipf.rules启动 IPF 防火墙:
# service ipfilter enable # 设置 ipfilter 在系统启动时自动启动
# service ipfilter start # 启动 ipfilter 服务启动 ipnat:
ipnat 是 IPF 的一部分,专门用于处理 NAT 规则的维护。
# cp /usr/share/examples/ipfilter/ipnat.conf.sample /etc/ipnat.rules # 复制示例文件作为默认配置规则集,否则 ipnat 无法启动
# service ipnat enable # 设置 ipnat 在系统启动时自动启动
# service ipnat start # 启动 ipnat 服务注意
ipfilter 服务重启后,ipnat 也需要重启。
ipf 的管理命令主要用 ipf、ipfstat 和 ipnat,常用操作示例如下:
IPF 命令操作
启动 IPF 防火墙
相当于 service ipfilter start。
停止 IPF
相当于 service ipfilter stop。
加载规则集文件
从指定文件加载防火墙规则。
查看所有规则
显示当前加载的所有规则。
查看详细规则信息
参数说明:
i:显示输入规则o:显示输出规则h:显示通过该规则的流量n:显示规则编号
显示状态表
实时监控 IPF 流量,按 Q 退出。
清理已加载规则
删除所有已加载的规则。
NAT 操作命令
加载 NAT 规则
加载 NAT 规则文件。
汇总 NAT 状态
显示 NAT 的运行状态汇总。
列表显示 NAT 规则
列出 NAT 规则,h 表示显示通过该规则的流量。
清理 NAT 规则
删除已加载的 NAT 规则。
IPF 规则说明
拒绝所有访问
阻止所有流量。
说明:IPF 默认是明示禁止的防火墙,需要明确写规则以阻止访问。
拒绝所有进入流量
阻止所有入站流量。
参数说明:
block:拒绝pass:允许in:入站(out表示出站)all:等价于from any to any
地址表示:
IP 或网段:如
192.168.1.100或192.168.1.0/24any:任意地址
阻止与放行流量
拒绝所有外部流量
阻止所有从本机发出的外部流量。
放行回环接口输入流量
允许本机回环接口(lo0)的所有输入流量。
说明:quick 表示匹配规则后立即停止,不再匹配后续规则。
放行回环接口输出流量
允许本机回环接口的所有输出流量。
TCP/UDP 访问控制
允许访问服务器特定端口
允许任意外部设备通过 TCP 访问服务器指定端口(SSH、HTTP、HTTPS 等)。
允许本机访问外部设备特定端口
允许服务器向外访问这些端口。
允许本机访问 HTTP/HTTPS 并保持状态
访问外部 HTTP/HTTPS 服务,并跟踪连接状态。
DNS/UDP 访问
允许服务器访问 DNS(53 端口)和 DHCP(67 端口)服务器,并保持状态。
ICMP 流量控制
本机发送 ping 请求
允许本机向外发送 ICMP 回显请求(ping)。
外部设备 ping 本机
允许外部设备 ping 本机。
本机 ICMP 回显应答
允许本机回应 ping 请求。
Traceroute 流量
通过 ICMP traceroute
允许 ICMP 回显应答用于 traceroute。
通过 UDP traceroute
放行从 192.168.1.184 发出的 UDP 流量,源端口范围 33434-34500,快速处理并保持状态。
端口转发规则(NAT)
本机端口映射 8080 → 80
将本机 em0 网卡的 8080 端口流量转发到本机 80 端口。
加载规则命令
清理并加载防火墙规则
参数说明:
-Fa:清除所有已加载规则-f:加载指定规则文件
清理并加载 NAT 规则
参数说明:
-CF:清除 NAT 规则-f:加载指定 NAT 规则文件
最后更新于
这有帮助吗?