Devops's Blog

Shaping трафика

Будем резать скорость в сторону 80,443 порта

1 Удаляем созданные правила
2 Ограничиваем скорость на eth0 в диапазоне 60Mbit ceil 70Mbit
3 Выставляем метку номер 8
4 Говорим iptables какой трафик будет, применяться к правилам shaping, В данном примере 80,443 порт и исходящий трафик

					    
[root@srv user]# cat /home/user/shaping/add_shaping
/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1:0 htb default 8
/sbin/tc class add dev eth0 parent 1:0 classid 1:8 htb rate 60Mbit ceil 70Mbit prio 0
/sbin/tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 8 fw flowid 1:8

iptables -t mangle -A OUTPUT -o eth0 -p tcp -m multiport --sport 80 -j MARK --set-mark 8
iptables -t mangle -A OUTPUT -o eth0 -p tcp -m multiport --sport 443 -j MARK --set-mark 8
					    
					    
			            		    
                                    

Запускаем. Ошибка говорит, что мы удаляем правило которого нету, мы еще его не создали

                                            
[root@srv user]# /home/user/shaping/add_shaping
rtnetlink answers no such file or directory					    
                                    
                                    

Проверяем, будем уносить фаил в s3. Скорость в пределах 60Mbit ceil 70Mbit

image

Удаляем правила shaping

                                            
[root@srv user]# cat /home/user/shaping/delete_shaping
tc qdisc del dev eth0 root
iptables -t mangle -D OUTPUT -o eth0 -p tcp -m multiport --sport 80 -j MARK --set-mark 8
iptables -t mangle -D OUTPUT -o eth0 -p tcp -m multiport --sport 443 -j MARK --set-mark 8
[root@srv user]# /home/user/shaping/delete_shaping