AlmaLinux 9 の実行中に起動すると警告が表示されます。
Warning: Deprecated Driver is detected: nft_compat will not be maintained in a future major release and may be disabled
しかし、そのドライバには何がロードされますか?ファイアウォールサービスを無効にしました。私はこの警告を(正しく)取り除きたいと思います。
追加情報:
[root@server ~]# lsmod | grep nft_compat
nft_compat 20480 14
nf_tables 278528 98 nft_compat,nft_counter,nft_chain_nat
nfnetlink 20480 2 nft_compat,nf_tables
[root@server ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
NETAVARK_FORWARD all -- 0.0.0.0/0 0.0.0.0/0 /* netavark firewall plugin rules */
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain NETAVARK_FORWARD (1 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 10.88.0.0/16 ctstate RELATED,ESTABLISHED
ACCEPT all -- 10.88.0.0/16 0.0.0.0/0
Chain NETAVARK_ISOLATION_2 (1 references)
target prot opt source destination
Chain NETAVARK_ISOLATION_3 (0 references)
target prot opt source destination
DROP all -- 0.0.0.0/0 0.0.0.0/0
NETAVARK_ISOLATION_2 all -- 0.0.0.0/0 0.0.0.0/0
答え1
メッセージ自体に関しては、アップストリームカーネルメッセージではなく、AlmaLinux 9に追加された特定のメッセージです(おそらくRHEL 9から継承されます)。
このnft_compat
モジュールは、以下を実行できる互換性レイヤです。iptables超過nftablesそしてまだnftables以外のモジュールを使用してください。
CONFIG_NFT_COMPAT
: nf_tables モジュールを介した Netfilter x_tables[...]
- 内蔵モジュール:
nft_compat
ヘルプテキスト
これは、nf_tablesフレームワークの上に既存のx_tables一致/ターゲット拡張を使用する場合に必要です。
翻訳iptables-nft
の代わりに使用されるすべてのxtablesモジュールiptables-nft
iptablesルールはローカルにのみ適用されます。nftablesルールをnft_compat
適用する必要があります。
きれいなVMで始まり、ネットワークに関連するものは何も実行しないため、何もロードされず、空でnft_compat
ないほとんどすべてがロードされます。
以下は行われません。
iptables-nft -A -j ACCEPT
それは純粋に次のように翻訳されるからです。nftablesパスワード:
# uname -r
6.1.0-0.deb11.5-amd64
# iptables -V
iptables v1.8.7 (nf_tables)
# iptables -A -j ACCEPT
# nft --debug=netlink list ruleset
ip filter INPUT 2
[ counter pkts 0 bytes 0 ]
[ immediate reg 0 accept ]
table ip filter {
chain INPUT {
type filter hook input priority filter; policy accept;
counter packets 0 bytes 0 accept
}
}
# lsmod | grep nft_compat
#
ほとんどすべてが可能です(ユーザースペースとカーネルバージョンでこれをネイティブに変換できるまで)。nftablesしたがって、これは次のように異なります。iptablesバージョンと特定のルールのカーネルバージョン)。
# iptables -A INPUT -j REJECT
# lsmod | grep nft_compat
nft_compat 20480 1
nf_tables 286720 4 nft_compat
x_tables 61440 2 nft_compat,ipt_REJECT
nfnetlink 20480 2 nft_compat,nf_tables
# nft --debug=netlink list ruleset
ip filter INPUT 2
[ counter pkts 8 bytes 608 ]
[ immediate reg 0 accept ]
ip filter INPUT 3 2
[ counter pkts 0 bytes 0 ]
[ target name REJECT rev 0 ]
table ip filter {
chain INPUT {
type filter hook input priority filter; policy accept;
counter packets 8 bytes 608 accept
counter packets 0 bytes 0 reject
}
}
#
表示されるすべての項目には、nft --debug=netlink ...
次のいずれかが含まれますtarget name
(例:iptables-nft .. -j
ターゲット)またはmatch name
(iptables-nft ... -m
基準寸法x_tables
)は互換モジュールを介して対応するカーネルモジュールを使用することを意味しますnft_compat
。
これを削除するには、まったく使用しないか、iptables-nft
適切なライブラリツール(libip4tc2、...)を使用してください。もちろんiptables-legacy
(提供されたら?)に戻すのは悪いでしょう。このレイヤーはアップストリームでは使用されなくなり、互換性レイヤーは長い間それを置き換えるために維持される予定です。
これは次のことを意味できます。 Dockerを使用しないでください。podmanを使用しないでください。使用しないでください...
結論:このニュースをどのように取り除くべきかわかりません。