You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian Bookworm中nftables国家白名单规则配置求助

解决方案

以下是符合需求的完整/etc/nftables.conf配置,包含白名单集合填充、规则匹配及计数器关联:

完整配置代码

#!/sbin/nft -f
flush ruleset

# 定义全局统计计数器
counter CNT_WHITE_LISTED_COUNTRIES{}
counter CNT_BLACK_LISTED_COUNTRIES{}

table inet filter {
    set countries-allowed {
        type ipv4_addr; flag interval; policy performance;
        # 替换为你需要白名单的国家IPv4 CIDR段,示例为部分IP段
        elements = { 1.0.0.0/8, 2.0.0.0/8, 101.0.0.0/16 }
    }

    chain input {
        type filter hook input priority 0; policy drop;

        # 匹配白名单国家IP,接受数据包并统计
        ip saddr @countries-allowed counter name CNT_WHITE_LISTED_COUNTRIES accept

        # 拒绝非白名单来源的IPv4数据包并统计
        ip protocol ip counter name CNT_BLACK_LISTED_COUNTRIES drop
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
    }

    chain output {
        type filter hook output priority 0; policy accept;
    }
}

关键配置说明

  • 填充白名单IP段:在countries-allowed集合的elements字段中,添加目标国家的完整IPv4 CIDR段列表。
  • 规则顺序:必须先设置白名单接受规则,再设置非白名单拒绝规则,否则白名单IP会被提前拦截。
  • 默认策略:将input和forward链的默认策略设为drop,确保未匹配规则的数据包全部被拒绝;output链默认设为accept允许出站流量,可根据需求调整。
  • 计数器关联:通过counter name直接绑定全局计数器,后续可执行nft list counters查看统计数据。

验证步骤

  1. 重启nftables服务:systemctl restart nftables
  2. 查看当前规则与计数器状态:nft list ruleset
  3. 测试连接:使用白名单内/外的IP访问服务器,检查计数器数值变化验证规则生效。

内容的提问来源于stack exchange,提问作者DieterH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 11:42:10