PF 規則に移行する IPF 規則がある場合は、どのようなポリシーを適用しようとしているかを明確にし、そのポリシーが反映された PF 規則を作成する必要があります。
いくつかの PF 機能は、規則の一部をテストしたり、規則の構文や実行の順序を表示したり、その他の役立つ移行タスクを実行したりするために役立ちます。
PF では規則を異なるファイルに配置できますが、この配置はデフォルトではありません。これを行うには、PF 構成ファイルに INCLUDE 文を追加します。たとえば、pfconf スクリプトを実行し、INCLUDE 文を挿入します。
# pfconf ... include "/etc/firewall/pfnat.conf"
pfctl コマンドのオプションを使用して、ファイアウォールポリシーをテストしたり表示したりできます。
メインの規則セットを表示するには、–a および –sr オプションを使用します。
$ pfctl -a '*' -sr
規則をカーネルにロードすることなく規則ファイルの構文をチェックするには、–n オプションを使用します。たとえば、次のコマンドは、/etc/firewall/test ディレクトリにある pf.conf ファイル内の規則の構文をチェックします。
$ pfctl -n -f /etc/firewall/test/pf.conf
デバッグレベルを設定するには、–x オプションを使用します。デフォルトのデバッグレベルは error です。
# pfctl -x debug # dmesg
デバッグメッセージはコンソールにのみ出力されます。dmseg コマンドは、システムバッファー内の最新の診断メッセージを検索し、それを標準出力に出力します。
デバッグレベルを設定したあと、デバッグに役立つ出力を含めるには、–g オプションを使用します。
$ pfctl -x debug -g -f testfile -n
詳細出力を表示するには、–v および –vv オプションを使用します。
$ pfctl -vv
その他のオプションについては、pfctl(1M) のマニュアルページを参照してください。
PF 構成ファイルに変更された IP フィルタ 構成ファイル全体の例については、使用例 4を参照してください。