这下列的经常被引用,但没有任何解释:
不要忘记第 2 层标头信息仅在输入路径中可用。
这banIP 包使用以下比较向前规则:
ether saddr . ip saddr @${feed} counter accept
其中 feed 是一组。计数器永远不会递增,但后面的规则会导致“拒绝”。这个想法是在将目的地列入黑名单之前根据来源豁免某些流量。如果我将条件替换为
ether saddr <specific MAC>
它仍然不匹配。但是,如果我将条件替换为
iifname <specific interface>
或者
ip saddr <specific IP range>
那么它确实匹配了预期。令人困惑的是,nftables 日志同时显示了源 MAC 和目标 MAC。这证明 nftables知道源 MAC。
那么,我的结论是否正确?以太萨德尔不能用于向前链?这就是我的测试结果,然后是来自 wiki 的不祥引述。另一方面,脚本的作者声称它“对他有用”,这似乎是他支持线程。
我应该提到,我使用的接口是具有明确配置的 MAC 的 SR-IOV。我在比较中使用的 MAC 显示在 nftables 日志中。我甚至从另一个(未通电的)网络设备背面复制了一个真实的 MAC。