OpenBSDを使用したPFでのNATおよびソースIPフィルタリング> = 4.7
私はPF(The Book Of PF、No Starch)についての本を読んだだけですが、答えられていない質問が1つあります。 $ int_ifと$ ext_ifの2つのインターフェイスを使用するゲートウェイマシンmatchがあり、NATが適用されるときに$ int_if:net(たとえば、10.0.0.0 / 24)からのパッケージを$ ext_if にNAT 変換する場合?フィルタリングルールの前または後? 例: match out on $ext_if from 10.0.0.0/24 nat-to ($ext_if) pass out on $ext_if from 10.0.0.0/24 block drop out on $ext_if from 10.0.0.23 それは動作しますか?または、10.0.0.23からのパケットのソースIPを、10.0.0.23からのものかどうかのチェックが評価される前に$ ext_ifのアドレスにNAT変換しますか? この図は、この質問に答えるのには役立たないと思いますが、それでも興味深いものです:[ http://www.benzedrine.cx/pf_flow.png ] PF NAT FAQ [ http://www.openbsd.org/faq/pf/nat.html ]、特に「NATの構成」セクションを読むと、次の文に出くわすでしょう。 パケットが一致ルールによって選択されると、そのルールのパラメーター(nat-toなど)が記憶され、パケットに一致するパスルールに到達したときにパケットに適用されます。これにより、パケットのクラス全体を単一の一致ルールで処理し、トラフィックを許可するかどうかの特定の決定をブロックおよびパスルールで行うことができます。 上の段落で述べたようには聞こえないように思うので、パケットで実行するアクションについて決定があるまで、ソースIPは「記憶」されます。決定が下されると、NATtingが適用されます。 どう思いますか? …