nftable限制访问速率
nftable防火墙配置,保存下,以后有需要可以查看。
设置默认允许,只限制需要的,先允许一定数量的连接,超出部分丢弃。
#清空所有规则 sudo nft flush ruleset # 创建一个名为 'filter' 的表,使用 'inet' 家族(同时支持 IPv4 和 IPv6) nft add table inet filter # 在 'filter' 表中创建 'input' 链,绑定到 'input' 钩子,默认策略为接受 nft add chain inet filter input { type filter hook input priority 0 \; policy accept \; } # 在 'filter' 表中创建 'output' 链,绑定到 'output' 钩子,默认策略为接受 nft add chain inet filter output { type filter hook output priority 0 \; policy accept \; } #允许内部回环流量 sudo nft add rule inet filter input iif "lo" counter accept #允许ssh sudo nft add rule inet filter input tcp dport 22 counter accept #允许1314端口(自定义管理端口) sudo nft add rule inet filter input tcp dport 1314 counter accept #允许http,https端口限制每秒99个数据包 sudo nft add rule inet filter input tcp dport { 80, 443 } limit rate 99/second counter accept #拒绝其他tcp数据 sudo nft add rule inet filter input tcp dport 0-65535 counter drop #拒绝ping请求 sudo nft add rule inet filter input icmpv6 type echo-request counter drop #允许http3,限制每秒30个数据包 sudo nft add rule inet filter input udp dport 443 limit rate 30/second counter accept #拒绝其他udp流量 sudo nft add rule inet filter input udp dport 0-65535 counter drop #允许未匹配输入流量 sudo nft add rule inet filter input counter accept #允许所有流出流量 sudo nft add rule inet filter output counter accept