nft
我在配置 443/TCP 以抵御洪水攻击时遇到了困难。
我放弃了iptables
模块recent
,现在我正在nft
使用它的手册页示例代码进行测试,作为实验室。
因此,我将所有带有syn
标记的源 IP 和sport 443
每秒发生次数超过 300 次的 IP 发送到动态集,持续 15 分钟。同时,我正在使用 检查入站 IP tcpdump
,但集合中包含的 IP 未显示tcpdump
!
“拒绝列表”集合的定义如下:
$ sudo nft add rule ip filter INPUT ip protocol tcp tcp flags syn tcp dport https limit rate over 300/minute add @denylist { ip saddr }
nft 规则是:
$ sudo nft add rule ip filter INPUT ip protocol tcp tcp flags syn tcp dport https limit rate over 300/minute add @denylist { ip saddr }
我正在使用 tcpdump 观察流量:
$ sudo tcpdump -ni any "tcp[tcpflags] == tcp-syn and src host ($IP)"
$IP
是集合中插入的任意IP @denylist
。
我究竟做错了什么?
#nft #防火墙 #linux #synflood