アドレスプールは、アドレスとネットマスクのペアのグループに対して単一の参照を確立します。アドレスプールは、IP アドレスとルールを一致させるのに必要な時間を短縮します。また、アドレスプールによって、大きなまとまりのアドレスをより簡単に管理できます。
アドレスプール構成規則は、IP フィルタサービスによって読み込まれるファイル内に置くことができます。ファイルを作成して、そのパス名をサービスの config/ippool_config_file プロパティーの値として設定する必要があります。デフォルト値は /etc/ipf/ippool.conf です。
次の構文でアドレスプールを作成します。
table role = role-name type = storage-format number = reference-number
複数のアドレスへの参照を定義します。
IP フィルタでのプールの役割を指定します。参照できる役割は ipf だけです。
プールの保存形式を指定します。
フィルタリング規則が使用する参照番号を指定します。
たとえば、アドレスが 10.1.1.1 および 10.1.1.2 でネットワークが 192.16.1.0 のグループをプール番号 13 で参照する場合、アドレスプールの構成ファイルに次の規則を含めます。
table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24 };
次に、フィルタリング規則のプール番号 13 を参照するには、次の例のような規則を構築します。
pass in from pool/13 to any
なお、プールへの参照を含む規則ファイルをロードする前に、プールファイルをロードする必要があります。プールファイルをロードしていない場合、次の出力のようにプールは未定義となります。
# ipfstat -io empty list for ipfilter(out) block in from pool/13(!) to any
プールをあとで追加しても、そのプールの追加によってカーネルの規則セットが更新されることはありません。そのプールを参照する規則ファイルも再ロードする必要があります。
詳細な文法と構文については、ippool(4) のマニュアルページを参照してください。