温馨提示×

centos防火墙能限速吗

小樊
41
2026-09-21 03:29:36
栏目: 智能运维

在 CentOS 上,防火墙本身(firewalld / iptables)主要做包过滤,不直接提供“限速/带宽限制”功能,但可以结合其他工具实现限速。下面按常见场景说明:


一、CentOS 防火墙能否限速?

1️⃣ firewalld(CentOS 7/8 默认)

❌ 不能直接限速

firewalld 只能:

  • 允许/拒绝端口
  • 限制来源 IP
  • 做 NAT

✅ 但可以通过 rich rule + 其他模块 间接配合


2️⃣ iptables

⚠️ iptables 本身也不限速带宽

但可以使用 iptables + tc(Traffic Control) 实现限速


二、CentOS 实现限速的常见方案 ✅

✅ 方案 1:tc(最常用,内核级限速)

适合:服务器整体/网卡/IP 限速

示例:限制 eth0 出口带宽为 10Mbps

tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms

示例:限制某个 IP 上传速度

tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.1.100 flowid 1:1

✅ 优点:稳定、性能好
❌ 缺点:命令复杂


✅ 方案 2:iptables + limit(仅限“包速率”,不是带宽)

适合:防爆破、防 flood

iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/min -j ACCEPT

❌ 不能限制 MB/s
✅ 只能限制“每秒/每分钟多少个包”


✅ 方案 3:nftables(CentOS 8+)

nftables 仍不直接限速带宽,但配合 tc 使用


✅ 方案 4:应用层限速(推荐简单场景)

  • Nginx
limit_rate 100k;
  • rsync / scp(客户端)
  • Docker(–network 限速)

✅ 方案 5:第三方工具

  • wondershaper(最简单)
yum install wondershaper
wondershaper eth0 1024 256

(下载 1Mbps,上传 256Kbps)


三、总结

方式 是否限速带宽 推荐使用
firewalld ❌ 否
iptables ❌(仅包率) 否
tc ✅ ✅✅✅
wondershaper ✅ ✅
Nginx/Docker ✅(应用层) ✅

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 想限制 哪个 IP / 端口 / 网卡
  • 是 上传还是下载

我可以直接给你可复制的命令。

0 踩