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

相關文章
相關標籤/搜索