我想修改运行 NetBSD 4.0 的设备(Apple Airport)上的一些防火墙/NAT 规则。我对 BSD 和 pf 不太熟悉,所以想检查正确的方法。我可以将 pf.conf 文件(使用 sed)更改为所需的配置,然后使用 加载pfctl -f /etc/pf.conf
,但我想知道这是否首先清除了旧规则?
或者,直接通过命令行执行此操作的最佳方法是什么(即删除旧的rdr pass
和nat
规则,并添加新规则?)
(就上下文而言,这里的目标是能够更改 Apple Airport Extreme 上的 NAT 规则,而无需重新启动设备,这会使整个网络瘫痪一分钟左右;我已经成功获得了SSH 访问)
答案1
看着/etc/rc.d/pf
在 NetBSD 4.0 上(甚至在 9.0 中)该pf_reload
函数只是简单地运行pfctl -q -f /etc/pf.conf
,因此似乎没有必要刷新旧规则。
要手动刷新所有规则和状态,您可以使用pfctl -F all
.
如果机场没有安装手册页,您可以阅读手册页pfctl(8)
在线的。
我寻找一个命令来转储当前存在的规则(类似于ipfstat(8)
)但在手册中找不到任何内容。这对于检查防火墙的状态很有帮助。