ファイアウォール フィルターの評価方法を理解する
ファイアウォールフィルターは1つ以上の条件で構成されており、フィルター内の条件の順序は重要です。ファイアウォールフィルターを設定する前に、スイッチがフィルター内の条件をどのように評価し、パケットがどのように条件に対して評価されるかを理解する必要があります。
ファイアウォールフィルターが単一の条件で構成されている場合、フィルターは次のように評価されます。
パケットがすべての条件に一致する場合、 ステートメント内の
then
アクションが実行されます。パケットがすべての条件に一致し、 ステートメントで
then
アクションが指定されていない場合、デフォルトのアクション accept が実行されます。パケットがすべての条件に一致しない場合、スイッチはそれを破棄します。
ファイアウォールフィルターが複数の条件で構成されている場合、フィルターは順次評価されます。
パケットは、最初の項の ステートメント内の
from
条件に対して評価されます。パケットが条件のすべての条件に一致する場合、ステートメント内の
then
アクションが実行され、評価が終了します。フィルタ内の後続の項は評価されません。パケットが条件のすべての条件に一致しない場合、パケットは2番目の条件の ステートメント内の
from
条件に対して評価されます。このプロセスは、パケットが後続の条件の 1 つの ステートメント内
from
のすべての条件に一致するか、フィルターにこれ以上条件がないまで続きます。パケットが一致せずにフィルター内のすべての条件を通過した場合、スイッチはそれを破棄します。
パケットが一致すると見な from
されるすべての条件に一致する必要があるため、ステートメント内の条件の順序は重要ではありません。
図 1 は、スイッチがファイアウォールフィルター内の条件を評価する方法を示しています。

条件に ステートメントを from
含まない場合、すべてのパケットは条件に一致し、 then
ステートメントで処理されます。条件にステートメントが含 then
まれていない場合、または ステートメントで then
アクションが設定されていない場合、条件は一致するパケットを受け入れます。
すべてのファイアウォールフィルターには、フィルターの最後に暗黙的 deny
なステートメントが含まれています。これは、以下の明示的なフィルター条件に相当します。
term implicit-rule { then discard; }
その結果、ファイアウォール フィルターのどの条件にも一致しないパケットは破棄されます。条件のないフィルターを設定した場合、フィルターを通過するすべてのパケットは破棄されます。
ファイアウォール フィルタリングは、長さが 64 バイト以上のパケットでサポートされています。