18.12.2. チェーンのフィルター
フィルターリングルールはフィルターチェーンで編成されています。このようなチェーンは、パケットフィルターリングルールを持つツリー構造を、個々のチェーン (分岐) のエントリーとして持つと考えることができます。
パケットは root チェーンでフィルター評価を開始し、他のチェーンで評価を継続し、これらのチェーンから root チェーンに戻るか、トラバースされたチェーンの 1 つでフィルタールールによりドロップまたは許可されます。
libvirt のネットワークフィルターリングシステムは、ユーザーがトラフィックフィルターリングのアクティブ化を選択する仮想マシンのネットワークインターフェイスごとに、個々の root チェーンを自動的に作成します。ユーザーは、root チェーンで直接インスタンス化されるフィルターリングルールを作成するか、プロトコル固有のルールを効率的に評価するためにプロトコル固有のフィルターリングチェーンを作成できます。
以下のチェーンが存在します。
- root
- mac
- stp (スパニングツリープロトコル)
- vlan
- arp と rarp
- ipv4
- ipv6
mac、stp、vlan、arp、rarp、ipv4、または ipv6 のプロトコルを評価する複数のチェーンは、プロトコル名をチェーン名の接頭辞としてのみ使用して作成できます。
例18.3 ARP トラフィックフィルターリング
この例では、名前が arp-xyz または arp-test のチェーンを指定し、そのチェーンで ARP プロトコルパケットが評価されるようにします。
以下のフィルター XML は、arp チェーンでの ARP トラフィックのフィルターリング例を示しています。
root チェーンなどではなく、ARP 固有のルールを arp チェーンに配置すると、ARP 以外のパケットプロトコルは ARP プロトコル固有のルールで評価される必要がなくなります。これにより、トラフィックフィルターリングの効率が向上します。ただし、その他のルールは評価されないため、指定したプロトコルのフィルターリングルールのみをチェーンに組み込むことに注意する必要があります。たとえば、IPv4 プロトコルパケットは ARP チェーンを通過しないため、IPv4 ルールは ARP チェーンで評価されません。