単一のルールでinetとinet6 IPセットを一致させる方法はありますか?

単一のルールでinetとinet6 IPセットを一致させる方法はありますか?

ipset(8)同じルールにIPv4およびIPv6 IPセット()を持つことはできますか?

1 つの IPv4 アドレスセットと別の IPv6 アドレスセットに依存しますが、他にも同じルールがいくつかあります。


ipset(8)有望に見えますが、現在問題を解決できない機能があることを付け加えたいと思います。

list:set
    The list:set type uses a simple list in which you can store set names.
    [...]
    Please note: by the ipset command you can add, delete and test the
    setnames in a list:set type of set, and not the presence of a set's
    member (such as an IP address).

ベストアンサー1

それは明らかですリチャードそうだねこのlist:setタイプは実際に解決策です。たとえ文書の表現が誤解を招くのではなくても、やや混乱していると思います。

以下で使用できますipset restore

create dns4 hash:ip family inet
create dns6 hash:ip family inet6
create dns  list:set
add dns dns4
add dns dns6

その後、ipset addIPメンバーセット(つまりdns4dns6それぞれ)、しかしそうではありません。スーパーセットdns)タイプlist:set

ただし、SET-j SET --add-set dns src --exist)ターゲットは実際にIPをに追加してdnsから可能なセットにのみ追加するように指示できますfamily。 IP(またはネットワークなど)を追加できるセットが増えると、これは難しくなります。この場合、最初のセットはエントリを追加するために使用されます。

つまり、list:setルールの数を半分に減らすことができます。それ以外の場合は、各IPv4およびIPv6ルールのIPセットを同じ他のルールと個別に一致させる必要があります。

おすすめ記事