Red Hat Training

A Red Hat training course is available for RHEL 8

7.3.4. 创建 nftables 链

chains 是规则的容器。存在以下两种规则类型:

  • 基本链:您可以使用基础链作为来自网络堆栈的数据包的入口点。
  • 常规链:您可以使用常规链作为跳过目标,并更好地组织规则。

这个步骤描述了如何在现有表中添加基本链。

先决条件

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

流程

  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 将分号解析为命令结尾,请在分号前加上 \ 转义字符。

    这个链过滤传入的数据包。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 部分