iptables-源ip单或多端口限速

iptables-源ip单或多端口速率

目前在在Google上尚未用这个hashlimit来直接限制速率。大多都是使用数据包来限速或者用tcbash

布局介绍

image.png
运维工程师链接到堡垒机时,在堡垒机上作iptables限速,避免运维过多占用客户生产服务器带宽。中间堡垒机有作一个ssh的跳板。服务器

iptables策略思路

使用源ip、单端口或多端口进行限速。上行和下行都限制为100Kb/s。把全部的数据都丢到hash lable中,用令牌桶来分发令牌,没有令牌的数据包丢弃。这样来达到限速的功能运维

iptables -A INPUT -p tcp --dport 22 -m hashlimit --hashlimit-name conn_limitA --hashlimit-htable-expire 30000 --hashlimit-upto 100kb/s --hashlimit-mode srcip --hashlimit-burst 200kb -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
----------------------------上传----------------------------------
iptables -A OUTPUT -p tcp --sport 22 -m hashlimit --hashlimit-name conn_limitB --hashlimit-htable-expire 30000 --hashlimit-upto 100kb/s --hashlimit-mode dstip --hashlimit-burst 200kb -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j DROP
-----------------------------下载---------------------------------
注意问题

其中有一个坑卡了我很久,那就是hashlimit-name必须是惟一的。若是相同,数据包被多条iptables策略过滤。好比上面的hashlimit-name相同的话。上传速率平均是100kb/s可是下载速率是50kb/sssh

扩展用处

百度云等不良限速,大概也是这样限速用户的流量速度。tcp

相关文章
相关标签/搜索