分页: 1 / 1

《1. OpenBSD PF用户指南之基本配置——开始》

发表于 : 2010-01-21 10:34
leo
PF: 开始

--------------------------------------------------------------------------------

目录
启用
配置
控制

--------------------------------------------------------------------------------

启用
如果你想启用PF并让它在启动时读取自己的配置文件, 就需要把下面这行

代码: 全选

pf=YES
添加到文件 /etc/rc.conf.local 中。
重新启动系统以便使其生效。
你也可以通过 pfctl(8) 程序启用或停止PF。

代码: 全选

# pfctl -e
# pfctl -d
上面给出的两条命令分别是启用和禁用PF。注意这里只是启用和禁用, 实际PF并不会自动加载规则集。无论是PF启动前或启动后, 规则集必须单独加载。

配置
PF启动时默认读取的配置文件是 /etc/pf.conf , 因为这是由rc 脚本载入的, 注意尽管 /etc/pf.conf 作为默认设定并被系统的rc脚本载入, 但它只是一个纯文本格式文件, 被 pfctl(8) 载入并解释, 然后再插入 pf(4)中。对某些应用程序来说, 可以在启动后载入其它的规则集, 同所有设计优异的Unix应用程序一样, PF也提供了极好的灵活性。

pf.conf 文件有七种语法结构部件:

Macros: 宏—— 用户定义的储存IP地址、接口名称等的变量。
Tables: 表格—— 一种可储存一组'IP地址列表'的结构。
Options: 选项—— 各种各样的选项用来控制PF运行。
Scrub: 净化—— 重新来自网络的处理数据包, 使它们正常化并对其进行碎片整理。
Queueing: 排队—— 提供带宽控制和数据包优先策略。
Translation: 转换—— 控制网络地址转换和数据包重定向。
Filter Rules: 过滤规则—— 允许对通过任何网络接口的数据包进行过滤或阻止。
尽管对某一特定应用程序来说并非需要所有的部件, 但是除了宏和表格, 每个部件应该按上面的顺序出现在配置文件中。

空行会被忽略, 以 # 开头的行会被认为是注释。


控制
启动后, 可以通过 pfctl(8) 程序管理 PF 的运行。下面是一些命令范例:

代码: 全选

# pfctl -f /etc/pf.conf 载入 pf.conf 文件
# pfctl -nf /etc/pf.conf 从语法上分析 pf.conf 文件, 但不载入
# pfctl -Nf /etc/pf.conf 仅载入 pf.conf 文件中的 NAT 规则
# pfctl -Rf /etc/pf.conf 仅载入 pf.conf 文件中的过滤规则

代码: 全选

# pfctl -sn 显示当前的 NAT 规则
# pfctl -sr 显示当前的过滤规则
# pfctl -ss 显示当前的状态表
# pfctl -si 先是过滤状态和计数
# pfctl -sa 显示所有可显示信息 


完整的命令列表请参阅 pfctl(8) 用户手册。