ubuntu

ubuntu防火墙限制带宽的方法

小樊
40
2025-10-25 03:40:34
栏目: 智能运维

Ubuntu防火墙限制带宽的主要方法

1. 使用iptables结合limit模块限制带宽

iptables是Ubuntu自带的防火墙工具,可通过limit模块限制特定流量的速率。适用于简单场景(如限制SSH登录速率)。
示例命令

# 限制SSH(端口22)的新建连接速率为100个/分钟,超出后丢弃
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 100/minute -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

说明--limit指定速率(支持/second、/minute等单位),-m limit启用速率限制模块。需保存规则(sudo iptables-save | sudo tee /etc/iptables/rules.v4)以持久化。

2. 使用tc(Traffic Control)工具实现精细化带宽控制

tc是Linux内核提供的流量控制工具,通过HTB(Hierarchical Token Bucket)队列调度算法实现灵活的带宽分配,适用于复杂场景(如限制特定IP或端口的带宽)。
步骤详解

说明rate为保证带宽,ceil为最大允许带宽(突发流量上限)。监控规则效果可使用tc -s qdisc ls dev eth0

3. 使用nftables实现带宽限制

nftables是iptables的下一代替代工具,语法更简洁,支持更丰富的流量匹配(如meter、quota)。适用于需要高性能或复杂规则的场景。
示例命令

说明meter用于流量统计,limit rate设置速率限制,quota设置总流量配额。持久化规则需导出到/etc/nftables.conf并启用服务(sudo systemctl enable --now nftables)。

4. 使用wondershaper简化带宽限制

wondershaper是基于tc的脚本工具,简化了常用带宽限制场景(如限制上下行速度)的配置,适用于快速部署。
步骤详解

说明:wondershaper自动创建HTB队列和过滤器,适合非技术人员快速配置。

注意事项

0
看了该问题的人还看了