温馨提示×

linux iptables能否对协议限速

小樊
81
2024-12-28 04:33:46
栏目: 智能运维

是的,Linux的iptables可以对特定协议进行限速

sudo iptables -A OUTPUT -t mangle -p tcp --sport 80 -m limit --limit 1/s --limit-burst 5 -j ACCEPT
sudo iptables -A OUTPUT -t mangle -p tcp --dport 80 -m limit --limit 1/s --limit-burst 5 -j ACCEPT

这里,我们为HTTP(端口80)流量设置了每秒1个数据包的限制,允许突发流量高达5个数据包。你可以根据需要调整这些值。

如果你想要对整个系统上的所有TCP流量进行限速,可以使用以下命令:

sudo iptables -A OUTPUT -t mangle -p tcp -m limit --limit 1/s --limit-burst 5 -j ACCEPT

请注意,这些限速规则仅适用于输出流量。如果你还需要对输入流量进行限速,可以创建类似的规则,但将-p tcp --sport 80替换为-p tcp --dport 80

最后,为了使这些规则在系统重启后仍然生效,你需要安装iptables-persistent软件包并保存当前的iptables规则。在Debian和Ubuntu系统上,可以使用以下命令安装:

sudo apt-get install iptables-persistent

安装完成后,运行以下命令以保存当前的iptables规则:

sudo netfilter-persistent save

在CentOS和RHEL系统上,可以使用以下命令安装:

sudo yum install iptables-services

然后,启动并启用iptables服务:

sudo systemctl start iptables
sudo systemctl enable iptables

最后,运行以下命令以保存当前的iptables规则:

sudo service iptables save

0