![覆盖 PF 防火墙的“set skip on lo0”](https://linux22.com/image/1626938/%E8%A6%86%E7%9B%96%20PF%20%E9%98%B2%E7%81%AB%E5%A2%99%E7%9A%84%E2%80%9Cset%20skip%20on%20lo0%E2%80%9D.png)
我正在使用 PF 防火墙,我想在环回接口上重定向端口,如下所示:
rdr on lo0 inet proto tcp from 127.0.0.1 to 127.0.0.1 port 443 -> 127.0.0.1 port 6443
问题是,我的 VPN 客户端在连接时会动态添加一些 pf 规则,其中一条规则是set skip on lo0
(我看不出在设置期间跳过此特定规则的方法)。此规则在配置加载时进行评估,因此所有与环回接口相关的规则都不再有效,无论它们是在之前还是之后set skip
- 我想以某种方式绕过它。有没有办法在规则集的稍后部分以某种方式“取消设置”该选项或强制 pf 不遵守它?
这个问题类似于这个但是,就我而言,我的 VPN 客户端创建了规则set skip on lo0
,因此我无法删除它。我也无法更改 VPN 客户端(这是工作 VPN)。
答案1
我想以某种方式绕过它。有没有办法在规则集中稍后以某种方式“取消设置”该选项或强制 pf 不遵守它?
根据pfctl
手册……
-O Load only the options present in the rule file. Other rules and options are ignored
… 这是可能的清除选项使用-O
,例如:
sudo pfctl -O -f /dev/null
/dev/null
是一个空文件,因此所有选项都将被删减。它可能太宽泛了,但我看不出有什么方法可以找到当前有效的选项pfctl
。
当然 — — 如果您有自己的一套应用选项,那么您可以使用该文件。