① linux下有什麼可以限制網速的軟體
專門的限速軟體,只有linux防火牆如:pfsence,不過默認的iptables防火牆也可以限速的
如以ip地址來限速
iptables -A FORWARD -m limit -d 202.96.209.6 --limit 2400/s --limit-burst 100 -j ACCEPT
iptables -A FORWARD -d 202.96.209.6 -j DROP
iptables -A FORWARD -m limit -s 202.96.209.6 --limit 2400/s --limit-burst 100 -j ACCEPT
iptables -A FORWARD -s 202.96.209.6 -j DROP
限制某網段
iptables -A FORWARD -s 192.168.100.0/24 -m limit --limit 100/s -j ACCEPT
iptables -A FORWARD -s 192.168.100.0/24 -j DROP
以協議icmp放ddos限速
iptables -A INPUT -f -m limit --limit 150/sec --limit-burst 100 -j ACCEPT
限制ssh接入頻率
iptables -A INPUT -p tcp –dport 22 -s 10.1.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp –dport 22 -j ratelimit
② linux如何限制每個進程的網速
1、用 iptables 的 owner 模塊,給 --pid-owner 加上 MARK,然後 tc 里針對這個 MARK 做限速 現在的伺服器上,基本已經普及了 SMP ,更進一步的,內核已經在自動發現支持 SMP 的時候,在 iptables 里把 owner 模塊的 pid/cmd/sid 三個 match 都去掉了!現在的 owner 里只有 uid/gid 兩個。所以這條路,在生產環境上基本行不通。所以推薦下面的兩種方法:
2、使用 pipeviewer和 trickle這兩個工具。trickle 是在BSD 上誕生的項目,這個工具使用ELF 的 preloader 機制,在命令執行的時候替換掉標准庫中的 socket recv() 和 send() 部分,達到限速的效
3、cgroup ,它有 net_cls 控制器。不過和其他控制器不太一樣的是它不直接控制網路讀寫,只是給網路包打上一個標記,然後把專業的事情交給專業的 TC 去做。嗯,思路和原先的 iptable 是很類似的。