Имеется сервер, который сопрягает внешнюю и локальную сеть, выполняя следующие задачи 1. форвардинг ип-телефонии с внутреннего сервера телефонии 2. сайт и личный кабинет 3. почта 4. прокси 5. днс 6. форвардинг служебного трафика
Все это необходимо уложить в канал 4мбита. Попробовал проксей-сквидом полосу ограничивать - но получается не надежно и не эффективно. Изучил букварь и из примеров написал такой скрипт, который еще не проверял, т.к. побаиваюсь на рабочей системе экспериментировать.
#!/bin/bash
tc qdisc del dev eth1 root
tc qdisc add dev eth1 root handle 1: htb default 20
tc class add dev eth1 parent 1: classid 1:1 htb rate 4mbit
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 1mbit ceil 2mbit prio 10
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 2mbit ceil 4mbit prio 20
tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 5060 0xffff flowid 1:10
Собственно самое важное это «оградить» трафик ип телефонии от всего остального, но и по остальному не понятно - стоит ли что то дополнительно выделять или достаточно такого варианта, не будут ли большие закачки забивать интерактивный трафик или как это исключить считая, что закачки идут либо через ssh, либо squid, либо форвардинг служебного трафика из локальной сети, хотя и почта ведь может давать большими письмами нагрузку.