有一个奇怪的场景,我需要创建一些防火墙规则来闪烁 LED。到目前为止,我总是能够使用 iptables 做到这一点:
iptables -A INPUT -p tcp --dport 443 -j LED --led-trigger-id mytrigger
到目前为止,一切都很好。然而,有一个新问题:由于各种原因,我现在需要不在input
- 中,而是在ingress
- 链中创建这样的规则,我(据我所知)只能使用 nftables 创建和管理该规则。然而,我一生都无法弄清楚如何使用创建 LED 规则nft
。
我查看了 iptables 使用 创建的规则的输出nft list chain filter INPUT
,结果如下:
table ip filter {
chain INPUT {
type filter hook input priority filter; policy accept;
tcp dport 443 counter packets 0 bytes 0 # led-trigger-id:"myfirewalltrigger"
}
}
这没有帮助。咱们试试吧iptables-translate -A INPUT -p tcp --dport 443 -j LED --led-trigger-id myfirewalltrigger
:
nft # -A INPUT -p tcp --dport 443 -j LED --led-trigger-id myfirewalltrigger
这也没有帮助。
为什么 nftables 似乎无法应对 LED 规则?
答案1
我认为您遇到这个问题是因为 LED 是 iptables 不受支持的扩展,现在 nftables 不支持。
https://wiki.nftables.org/wiki-nftables/index.php/Supported_features_compared_to_xtables#LED
这太糟糕了,因为听起来你正在做一些很酷的事情。如果您找到解决方法,请重新审视这个问题(例如解析实时日志并触发它?)