为什么我的 nat-to 没有应用于传递规则?

为什么我的 nat-to 没有应用于传递规则?

我在使用 pf 的 OpenBSD-Box 上遇到一个关于 NAT 的奇怪问题。我已将 pf.conf 缩减为以下几行:

extif = "pcn0"
intif = "pcn1"

block drop all

#Allow all incoming traffic from intif
pass in on $intif inet from $intif:network to any

#NAT everything which comes from intif and goes out on extif
match out on $extif inet from $intif:network to any nat-to $extif

pass out quick on $extif inet from $intif:network to any

这在某种程度上不起作用,nat-to 不适用于传递规则。但如果我使用这样的规则:

[...]
match out on $extif inet from $intif:network to any nat-to $extif
pass out quick all

它确实有效。另外,如果我不使用匹配语句,它也可以工作:

[...]
pass out quick on $extif inet from $intif:network to any nat-to $extif

这真的很奇怪,不是一个解决方案,因为我想进一步限制我的规则并通过匹配应用 nat-to。有谁知道为什么这不适用于比赛或者我的错字在哪里? (是的,IP 转发已启用)

答案1

老问题但不妨回答一下......

“匹配”规则将地址重写为 $extif ....看到问题了吗?

下面的过程没有考虑到这一点,并且...地板上的数据包...好吧 /dev/null 或

我建议在“匹配”规则的末尾添加“允许的标签”,然后更改通过规则:

pass out quick on $extif tagged ALLOWED

相关内容