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

使用nftables动态map实现源目地址相同时丢包的语法错误排查

解决nftables丢弃源目同地址流量的规则问题

你想创建nftables过滤规则丢弃源地址与目的地址相同的流量,之前尝试用映射的方法但触发语法错误,其实根本不需要绕弯子用map,nftables本身就支持直接比较源IP和目的IP。

你之前的错误配置:

table inet my_table {
  map srcdest { type ipv4_addr: ipv4_addr; }
  chain my_chain {
    meta nfproto ipv4 update @srcdest { ip saddr : ip daddr }
    meta nfproto ipv4 ip saddr ip saddr map @srcdest drop
  }
}

最后一行报错是因为ip saddr map @srcdest的写法不符合nftables规则语法,而且这种用map中转的思路完全没必要。

正确的做法是直接匹配源IP等于目的IP的流量,规则如下:

table inet my_table {
  chain my_chain {
    # 处理IPv4流量
    meta nfproto ipv4 ip saddr == ip daddr drop
    # 如果需要处理IPv6流量,添加下面一行
    meta nfproto ipv6 ip6 saddr == ip6 daddr drop
  }
}

这样就能直接丢弃所有源地址与目的地址相同的IPv4/IPv6流量,语法完全符合nftables要求,也不需要额外的映射配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 06:32:38