Ограничить скорость cifs
Модераторы: SLEDopit, Модераторы разделов
-
denel
- Сообщения: 497
- ОС: Gentoo Linux
Ограничить скорость cifs
У меня локальная сеть wi-fi. Когда я по cifs начинаю копировать файлы это съедает всю пропускную способность, а нужно съедать ну треть. Как можно срезать скорость примонтированных по cifs шар?
-
skeletor
- Сообщения: 1224
Re: Ограничить скорость cifs
Настроить шейпер на сервере cifs
-
denel
- Сообщения: 497
- ОС: Gentoo Linux
-
Bedazzled
- Сообщения: 311
- ОС: ubuntu
-
denel
- Сообщения: 497
- ОС: Gentoo Linux
-
Bedazzled
- Сообщения: 311
- ОС: ubuntu
-
denel
- Сообщения: 497
- ОС: Gentoo Linux
Re: Ограничить скорость cifs
Bedazzled писал(а): ↑12.02.2015 15:44может тогда чтонить такое? http://zyxel.ru/kb/1193
у вас что за оборудование?
Да вот оборудование трогать не могу. Нужно всё решить за счёт клиента - моего линукса
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Ограничить скорость cifs
-
denel
- Сообщения: 497
- ОС: Gentoo Linux
Re: Ограничить скорость cifs
Совсем простого решения не получилось. По примеру, вроде не полностью работающему, состряпал небольшой скрипт:
Код: Выделить всё
#!/bin/bash
hosts_low="192.168.0.1/32"
speed_all="1gbit"
speed_low="5mbit"
dev="eth0"
act="$1"
exec(){
ip link set dev ifb0 up
tc qdisc add dev $dev ingress
tc filter add dev $dev parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
tc qdisc add dev $dev root handle 1: htb default 20
tc class add dev $dev parent 1: classid 1:1 htb rate $speed_all
tc class add dev $dev parent 1:1 classid 1:100 htb rate $speed_low ceil $speed_low prio 2 quantum 15365
tc qdisc add dev $dev parent 1:100 handle 100: sfq perturb 10
for host in $hosts_low; do
tc filter add dev $dev protocol ip prio 2 u32 ht 800:: match ip dst $host flowid 1:100
done
tc class add dev $dev parent 1:1 classid 1:20 htb rate $speed_all ceil $speed_all prio 2 quantum 15365
tc qdisc add dev $dev parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev ifb0 root handle 1: htb default 20
tc class add dev ifb0 parent 1: classid 1:1 htb rate $speed_all
tc class add dev ifb0 parent 1:1 classid 1:100 htb rate $speed_low ceil $speed_low prio 2 quantum 15365
tc qdisc add dev ifb0 parent 1:100 handle 100: sfq perturb 10
for host in $hosts_low; do
tc filter add dev ifb0 protocol ip prio 2 u32 ht 800:: match ip src $host flowid 1:100
done
tc class add dev ifb0 parent 1:1 classid 1:20 htb rate $speed_all ceil $speed_all prio 2 quantum 15365
tc qdisc add dev ifb0 parent 1:20 handle 20: sfq perturb 10
}
if [[ "$1" == "add" ]]; then
exec
elif [[ "$1" == "del" ]]; then
tc qdisc del dev $dev root
tc qdisc del dev ifb0 root
tc qdisc del dev $dev ingress
ip link set dev ifb0 down
else
echo "Использование: /usr/local/bin/netfilter_rate.sh add||del"
fi