Ограничить скорость cifs

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux

Ограничить скорость cifs

Сообщение denel »

У меня локальная сеть wi-fi. Когда я по cifs начинаю копировать файлы это съедает всю пропускную способность, а нужно съедать ну треть. Как можно срезать скорость примонтированных по cifs шар?
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Ограничить скорость cifs

Сообщение skeletor »

Настроить шейпер на сервере cifs
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux

Re: Ограничить скорость cifs

Сообщение denel »

skeletor писал(а):
11.02.2015 13:31
Настроить шейпер на сервере cifs

Прошу прощения, мало себе пока представляю, но сервер cifs работает под управлением Windows. На стороне клиента бы что-нибудь придумать.
Спасибо сказали:
Bedazzled
Сообщения: 311
ОС: ubuntu

Re: Ограничить скорость cifs

Сообщение Bedazzled »

Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux

Re: Ограничить скорость cifs

Сообщение denel »

Bedazzled писал(а):
12.02.2015 08:46
qos ?

Рад бы, но вайфай связь у меня это в нужном мне ключе не понимает
Спасибо сказали:
Bedazzled
Сообщения: 311
ОС: ubuntu

Re: Ограничить скорость cifs

Сообщение Bedazzled »

может тогда чтонить такое? http://zyxel.ru/kb/1193

у вас что за оборудование?
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux

Re: Ограничить скорость cifs

Сообщение denel »

Bedazzled писал(а):
12.02.2015 15:44
может тогда чтонить такое? http://zyxel.ru/kb/1193

у вас что за оборудование?

Да вот оборудование трогать не могу. Нужно всё решить за счёт клиента - моего линукса
Спасибо сказали:
Аватара пользователя
denel
Сообщения: 497
ОС: Gentoo Linux

Re: Ограничить скорость cifs

Сообщение denel »

Совсем простого решения не получилось. По примеру, вроде не полностью работающему, состряпал небольшой скрипт:

Код: Выделить всё

#!/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
Спасибо сказали: