nft_compatをロードする

nft_compatをロードする

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-nftiptablesルールはローカルにのみ適用されます。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 nameiptables-nft ... -m 基準寸法x_tables)は互換モジュールを介して対応するカーネルモジュールを使用することを意味しますnft_compat

これを削除するには、まったく使用しないか、iptables-nft適切なライブラリツール(libip4tc2、...)を使用してください。もちろんiptables-legacy(提供されたら?)に戻すのは悪いでしょう。このレイヤーはアップストリームでは使用されなくなり、互換性レイヤーは長い間それを置き換えるために維持される予定です。

これは次のことを意味できます。 Dockerを使用しないでください。podmanを使用しないでください。使用しないでください...

結論:このニュースをどのように取り除くべきかわかりません。

おすすめ記事