限制端口連接數量
-
首先輸入命令service iptables stop關閉iptables(注意:iptables可能會有問題,貌似在舊版本中不被認爲是一個服務,而是防火牆,這個問題我還沒有解決,如果你解決了請告訴我一聲,謝謝)
-
限制端口併發數很簡單,IPTABLES就能搞定了,假設你要限制端口 8388的IP最大連接數爲5,兩句話命令:
iptables -I INPUT -p tcp --dport 8388-m connlimit --connlimit-above 5-j DROP iptables -I OUTPUT -p tcp --dport 8388-m connlimit --connlimit-above 5-j DROP
-
我再舉個例子,比如你想限制從 1024-10240的端口
iptables -I INPUT -p tcp --dport 1024:10240-m connlimit --connlimit-above 5-j DROP iptables -I OUTPUT -p tcp --dport 1024:10240-m connlimit --connlimit-above 5-j DROP
-
保存IPTABLES規則即可( service iptables save),其他端口以此類推。
-
輸入命令 service iptables start啓動
-
最後用命令查看是否生效
iptables -L -n -v
限制端口速度
- 首先輸入命令service iptables stop關閉iptables
- 限制端口併發數很簡單,IPTABLES就能搞定了,假設你要限制端口 5037的最大連接速度爲60個包每秒,兩句話命令:
iptables -A INPUT -p tcp --sport 5037-m limit --limit 60/s -j ACCEPT iptables -A INPUT -p tcp --sport 5037-j DROP
也就是限制每秒接受60個包,一般來說每個包大小爲 64—1518字節(Byte)。
限制指定ip的訪問速度
原理:每秒對特定端口進行速度控制,比如每秒超過10個的數據包直接DROP,從而限制特定端口的速度
iptables -A FORWARD -m limit -d 208.8.14.53--limit 700/s --limit-burst 100-j ACCEPT
iptables -A FORWARD -d 208.8.14.53-j DROP
最後說一下如何解決防火牆重啓後失敗的問題
iptables-save >/etc/sysconfig/iptables
echo 'iptables-restore /etc/sysconfig/iptables'>>/etc/rc.local
chmod +x /etc/rc.d/rc.local
對於ssr客戶端
- 打開ssr配置文件,找到 protocol_param
"protocol_param":"5", // 表示允許連接5個設備
- 限制端口速度
還是上文的那個地方,第一個是單線程限制,另外一個是總限制
"speed_limit_per_con":0,"speed_limit_per_user":0,