AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 763083
Accepted
TSG
TSG
Asked: 2023-12-05 08:43:52 +0800 CST2023-12-05 08:43:52 +0800 CST 2023-12-05 08:43:52 +0800 CST

什么加载 nft_compat

  • 772

我正在运行 AlmaLinux 9,启动时我看到警告

Warning: Deprecated Driver is detected: nft_compat will not be maintained in a future major release and may be disabled

但是加载该驱动程序的是什么?我禁用了firewalld服务。我想(正确地)消除这个警告。

附加信息:

[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
nftables
  • 1 1 个回答
  • 18 Views

1 个回答

  • Voted
  1. Best Answer
    A.B
    2023-12-05T19:54:15+08:002023-12-05T19:54:15+08:00

    关于消息本身:它不是上游内核消息,而是 AlmaLinux 9 中添加的特定消息(可能继承自 RHEL 9)。

    该nft_compat模块是兼容层,允许在nftables上运行iptables,并且仍然使用非 nftables 模块。

    CONFIG_NFT_COMPAT: Netfilter x_tables 通过 nf_tables 模块

    [...]

    • 内置模块:nft_compat

    帮助文本

    如果您打算在 nf_tables 框架上使用任何现有的 x_tables 匹配/目标扩展,则这是必需的。

    任何使用的 xtables 模块都需要工作iptables-nft,而不是将iptablesiptables-nft规则转换为纯本机nftables规则。nft_compat

    从一个干净的虚拟机开始,不运行任何与网络相关的内容,因此没有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 target ) 或match name(对于iptables-nft ... -m modulex_tables ) 都意味着它正在通过兼容性模块使用相应的内核模块nft_compat。

    要摆脱它,请iptables-nft完全不要使用或使用其库的工具(libip4tc2,...)。当然,恢复到iptables-legacy(如果甚至提供了?)会更糟糕:这个层打算在上游被弃用,并且兼容性层打算保留很长时间以取代它。

    这可能意味着:不要使用 Docker,不要使用 podman,不要使用......

    结论:我不知道如何摆脱这个消息。

    • 0

相关问题

  • nftables:更改或创建新表时刷新/删除

  • nftables 不工作,我做对了吗?

  • 我可以在 nftables 中匹配一组负数吗?

  • 如何在 nftables 中按名称创建一组命名接口?

  • 重启后 Nftables 规则消失了!

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve