ファイアウォールフィルターの評価方法の理解
ファイアウォールフィルターは1つ以上の用語で構成され、 フィルター 内の用語の順序が重要です。ファイアウォールフィルターを設定する前に、スイッチがフィルタ内の用語を評価する方法と、パケットが用語に対してどのように評価されるかを理解しておく必要があります。
ファイアウォールフィルターが単一の項で構成されている場合、そのフィルターは以下のように評価されます:
パケットがすべての条件に一致する場合、 ステートメントの アクションが実行されます。
then
パケットがすべての条件に一致し、 ステートメントで アクションが指定されていない場合、デフォルトアクション が実行されます。
then
acceptパケットがすべての条件に一致しない場合、スイッチはそのパケットを廃棄します。
ファイアウォールフィルターが複数の項で構成されている場合、フィルターは順番に評価されます。
パケットは、最初の用語の ステートメントの条件に対して評価されます。
from
パケットが条件のすべての条件に一致する場合、ステートメントの アクションが実行され、評価が終了します。
then
フィルタ内の後続の項は評価されません。パケットが条件のすべての条件に一致しない場合、パケットは 2 番目の条件のステートメントの条件に対して 評価されます。
from
このプロセスは、パケットが後続の条件の 1 つのステートメントのすべての 条件に一致するか、フィルターにそれ以上の用語がなくなるまで続きます。
from
パケットが一致しないままフィルター内のすべての条件を通過した場合、スイッチはそのパケットを破棄します。
パケットがすべての条件に一致すると一致とみなされるため、ステートメント内の 条件の順序は重要ではありません。from
図 1 スイッチがファイアウォールフィルター内の用語を評価する方法を示します。
条件に ステートメントを含め ない場合、すべてのパケットがその条件に一致し、 ステートメントによって 処理されます。from
then
条件にステートメントが含まれていない 場合、またはステートメントで アクションが設定されていない場合、条件は一致するパケットを受け入れます。then
then
すべてのファイアウォールフィルターでは、フィルターの最後に暗黙的な ステートメントがあり、これは以下の明示的なフィルター条件と同等です。deny
term implicit-rule { then discard; }
その結果、ファイアウォールフィルターの条件のいずれにも一致しないパケットは破棄されます。条件のないフィルターを設定すると、そのフィルターを通過するパケットはすべて廃棄されます。
ファイアウォールフィルタリングは、64バイト以上のパケットでサポートされています。