LINUX.ORG.RU
ФорумAdmin

Помогите с настройкой шейпера под нестабильный аплинк

 , , , ,


1

1

Имеется домик в деревне с сетью из 5 устройств и rpi в роли шлюза, точки доступа и шейпера. Провайдер раздаёт интернет по вайфаям. Оплаченый тариф 2Мбит-а, но скорость эта прыгает в зависимости от загрузки сети провайдера и погодных условий. Судя по наблюдениям, ниже 1Мбит-а не падает. Шейпера настроены так:

modprobe ifb
ip link set dev ifb0 up

tc qdisc add dev wlan0 ingress
tc filter add dev wlan0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0

tc qdisc del dev wlan0 root
tc qdisc add dev wlan0 root handle 1: htb default 90
tc class add dev wlan0 parent 1: classid 1:1 htb rate 2000kbit ceil 2000kbit
tc class add dev wlan0 parent 1:1 classid 1:90 htb rate 1000kbit ceil 2000kbit prio 10
tc qdisc add dev wlan0 parent 1:90 handle 90: sfq perturb 10
tc class add dev wlan0 parent 1:1 classid 1:10 htb rate 1000kbit ceil 2000kbit prio 0
tc qdisc add dev wlan0 parent 1:10 handle 10: sfq perturb 10
tc filter add dev wlan0 parent 1:0 protocol ip u32 match ip dst 192.168.1.16/28 classid 1:10

tc qdisc del dev ifb0 root
tc qdisc add dev ifb0 root handle 1: htb default 90
tc class add dev ifb0 parent 1: classid 1:1 htb rate 2000kbit ceil 2000kbit
tc class add dev ifb0 parent 1:1 classid 1:90 htb rate 1000kbit ceil 2000kbit prio 10
tc qdisc add dev ifb0 parent 1:90 handle 90: sfq perturb 10
tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 1000kbit ceil 2000kbit prio 0
tc qdisc add dev ifb0 parent 1:10 handle 10: sfq perturb 10
tc filter add dev ifb0 parent 1:0 protocol ip u32 match ip src 192.168.1.16/28 classid 1:10
Проблема в том что при понижении скорости ниже 2Мбит шейпера начинают работать неадекватно и геймеры из подсети 192.168.1.16/28 начинают плакать кровавыми слезами от высоких пингов т.к. сеть всегда забита траффиком всяких онлайн-видео и торрентов.

Как настроить шейпера, чтобы они отрабатывали нормально даже при падении скорости аплинка. По сути нужно всю доступную ширину канала поделить на две равные части между подсетью 192.168.1.16/28 и всеми остальными c возможностью занять весь канал, если он свободен. Можно ли для корневого класса задать рейт меньше цейла, подстроив соответственно рейты подклассов?

★★★

Не представляю как можно разделить поровну то, размер чего неизвестен. Причём геймерам должна выделятся такая половина канала, что её ширина больше фактически создаваемого ими трафика, что оставляет часть канала пустым и делает быстрый пинг.

ИМХО, когда кто-нибудь играет, душить второую половину (торренты) до 0,5 Мбита/с.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.