
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 add
IPメンバーセット(つまりdns4
、dns6
それぞれ)、しかしそうではありません。スーパーセット(dns
)タイプlist:set
。
ただし、SET
(-j SET --add-set dns src --exist
)ターゲットは実際にIPをに追加してdns
から可能なセットにのみ追加するように指示できますfamily
。 IP(またはネットワークなど)を追加できるセットが増えると、これは難しくなります。この場合、最初のセットはエントリを追加するために使用されます。
つまり、list:set
ルールの数を半分に減らすことができます。それ以外の場合は、各IPv4およびIPv6ルールのIPセットを同じ他のルールと個別に一致させる必要があります。