商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何通过iptables限制网络带宽

如何通过iptables限制网络带宽

  发布于2026-07-16 阅读(0)

扫一扫,手机访问

想要用iptables来控制网络带宽,其实并不复杂——核心就是利用它的limit模块。下面一步步拆解,从安装到配置,再到持久化,让你能快速上手。

如何通过iptables限制网络带宽

1. 安装iptables(如果尚未安装)

大多数Linux发行版默认已经装了iptables,但万一没有,也别慌——一行命令搞定:

sudo apt-get install iptables   # Debian/Ubuntu
sudo yum install iptables       # CentOS/RHEL

装完直接进入下一步。

2. 设置iptables规则

规则的核心是limit模块,它能精确控制每秒允许通过的流量大小。下面几个场景很实用,你可以按需调整。

限制特定IP地址的带宽

假设你想让IP为192.168.1.100的设备,访问80端口时最多只能跑1Mbps(也就是每秒1,000,000字节):

sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -m limit --limit 1mbit/s -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j DROP

第一条规则允许该IP以1Mbps的速率通过,第二条则把超出的部分直接丢弃。一收一放,带宽就限住了。

限制特定端口的带宽

如果想限制整个HTTP服务(80端口)的带宽,道理一样:

sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 1mbit/s -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j DROP

限制所有流量

更粗暴一点,直接限制所有进入的流量:

sudo iptables -A INPUT -m limit --limit 1mbit/s -j ACCEPT
sudo iptables -A INPUT -j DROP

这种方式适合做全局限速,但要注意——它会把所有入站流量都卡在1Mbps以内,包括SSH之类的管理连接,务必谨慎。

3. 持久化iptables规则

这里有个坑:iptables规则重启就没了。所以需要把规则保存下来。Debian/Ubuntu用户可以用iptables-persistent

sudo apt-get install iptables-persistent

安装过程中会提示你是否保存当前规则,选“是”就行。以后每次修改规则后,记得手动保存一次。

4. 查看iptables规则

配置完怎么验证?一条命令即可:

sudo iptables -L -v -n

它会列出所有规则,并显示每个规则匹配到的包数量和字节数,方便你判断限速是否生效。

注意事项

  • 限速一定会消耗CPU资源,尤其是在高并发场景下,要提前评估性能影响。
  • 修改iptables需要root权限,建议用普通用户加sudo操作。
  • 千万别在生产环境上直接套用——先在测试环境里跑一遍,确认效果符合预期再上线。

以上就是用iptables限速的完整流程,从原理到实操都覆盖了。把这个方法记下来,以后遇到带宽争抢的场景,你就能从容应对了。

本文转载于:https://www.yisu.com/ask/8894725.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注