iptablesはipsetマッチをロードできません。

iptablesはipsetマッチをロードできません。

いくつかのルールを追加しようとしましたが、失敗しました。

ルールは次のとおりです。

ipset create FABEDGE-PEER-CIDR hash:net

iptables -t nat -N FABEDGE-NAT-OUTGOING
iptables -t nat -A POSTROUTING -j FABEDGE-NAT-OUTGOING
iptables -t nat -A FABEDGE-NAT-OUTGOING -s 192.168.3.0/24 -m set --match-set FABEDGE-PEER-CIDR dst -j RETURN

結果は次のとおりです。

++ iptables -t nat -N FABEDGE-NAT-OUTGOING
iptables: Chain already exists.
++ iptables -t nat -A POSTROUTING -j FABEDGE-NAT-OUTGOING
++ iptables -t nat -A FABEDGE-NAT-OUTGOING -s 192.168.3.0/24 -m set --match-set 
FABEDGE-PEER-CIDR dst -j RETURN
iptables: No chain/target/match by that name.

この行ごとに

iptables -t nat -A FABEDGE-NAT-OUTGOING -s 192.168.3.0/24 -m set --match-set FABEDGE-PEER-CIDR dst -j RETURN

次のメッセージで失敗します。 "iptables: その名前に一致するチェーン/ターゲット/一致がありません。"

このメッセージを検索してみると、iptablesがipset一致をロードできないようです。 「/proc/net/ip_tables_matches」ファイルを確認しましたが、内容は次のとおりです。

cat /proc/net/ip_tables_matches
conntrack
conntrack
conntrack
addrtype
udplite
udp
tcp
addrtype
icmp

ファイルには少なくとも1つの「コレクション」が必要です。一部の記事では、iptablesが必要に応じて一致モジュールをロードすると述べています。

私はlsmod | grep ipip_setモジュールがロードされたものを使用して発見しました。

 lsmod | grep ip
iptable_raw             2525  0
ip_set_hash_net        33113  1
ip_set                 44480  1 ip_set_hash_net

本当に何をすべきかわからないし、何の手がかりもない。

どんな助けでも歓迎します。よろしくお願いします。

私のiptablesはv1.6.1で、私のカーネルは4.9.253-tegraであり、このカーネルはカスタムであることに注意する必要があります。

答え1

この自己コンパイルされたカーネルにはいくつかのIPv6モジュールがありません。ベンダーが別のカーネルを提供した後、問題は消えました。

関連情報