私の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

実際に働く。また、matchステートメントを使用しなくても機能します。

[...]
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

関連情報