Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.2.3. 创建 nftables 链

chains 是规则的容器。存在以下两种规则类型:
  • 基本链:您可以使用基础链作为来自网络堆栈的数据包的入口点。
  • 常规链:您可以使用常规链作为跳过目标,并更好地组织规则。
这个步骤描述了如何在现有表中添加基本链。

先决条件

  • 已存在您要添加新链的表。

过程 6.5. 创建 nftables 链

  1. 使用 nft add chain 命令创建新链。例如,要在 example_table 中创建一个名为 example_chain 的链:
    # nft add chain inet example_table example_chain '{ type filter hook input priority 0 ; policy accept ; }'
    重要
    要避免 shell 认为分号作为命令结尾,您必须用反斜杠转义分号。此外,一些 shell 也解释大括号,因此使用大括号()加上大括号和其中的任何内容
    这个链过滤传入的数据包。priority 参数指定 nftables 进程使用相同 hook 值链的顺序。较低优先级的值优先于优先级更高的值。policy 参数设置此链中规则的默认操作。请注意,如果您远程登录服务器,并将默认策略设置为 drop,如果没有其他规则允许远程访问,您将立即断开连接。
  2. 另外,还可以显示所有链:
    # nft list chains
    table inet example_table {
      chain example_chain {
        type filter hook input priority filter; policy accept;
      }
    }
    

其它资源

  • 有关地址系列的详情,请查看 nft(8)man page 中的地址系列部分
  • 有关您可以在链中运行的其他操作的详细信息,请参阅 nft(8)man page 中的 Chains 部分。