iptables-源ip单或多端口限速

iptables-源ip单或多端口速率

目前在在Google上还没有用这个hashlimit来直接限制速率。大多都是使用数据包来限速或者用tc

布局介绍

iptables-源ip单或多端口限速_第1张图片
运维工程师连接到堡垒机时,在堡垒机上做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/s

扩展用处

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

你可能感兴趣的:(iptables)