限速: wondershaper eth0 10000 8000 下行10000kb/s 上行8000kb/s
取消限速: wondershaper clear eth0
测试限速: server端: iperf3 -s client端: iperf3 -c serverip -i 1
查看指定端口速度: iftop -i eth0
2. 模拟丢包
tc qdisc add dev eth0 root netem loss 1%
3. 模拟延时
tc qdisc add dev eth0 root netem delay 100ms
4. 模拟乱序
tc qdisc add dev eth0 root netem delay 10ms reorder 25%
参考
https://blog.csdn.net/shelldon/article/details/54585742
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 是很类似的。专门的限速软件,只有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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)