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