Megas Опубликовано 18 октября, 2011 · Жалоба Собственно возник вопросик по оптимизации шейпера, да и как итог хочется прикрутить небольшую приоритезацию трафика для пользователей. Зверей всего порядка 80чел с тарифами от 1 до 8 мегабит. Правда сейчас запустим сегмент и там тарифы будут до 80мегабит. Что сейчас имеем: cat /scripts/01initshaper.sh #!/bin/sh /sbin/iptables -t mangle -F FORWARD /sbin/tc qdisc add dev eth1 root handle 1:0 htb /sbin/tc class add dev eth1 parent 1:0 classid 1:1 htb rate 100mbit ceil 100mbit burst 10k /sbin/tc qdisc add dev eth0 root handle 1:0 htb /sbin/tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100mbit ceil 100mbit burst 10k # Дальше при включении абонента добавляется правила: # cat /scripts/05addshaper.sh#!/bin/bash INTIF=eth1 EXTIF=eth0 let mark=${ID}+50 let mark2=${mark}+4000 /sbin/tc class add dev eth1 parent 1:1 classid 1:$mark htb rate ${SPEED}kbit ceil ${SPD}kbit burst 40k /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 5 handle $mark fw classid 1:$mark /sbin/tc class add dev eth0 parent 1:1 classid 1:$mark2 htb rate ${SPEED}kbit ceil ${SPD}kbit burst 40k /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 5 handle $mark2 fw classid 1:$mark2 /sbin/iptables -t mangle -A FORWARD -d $IP -j MARK --set-mark $mark /sbin/iptables -t mangle -A FORWARD -s $IP -j MARK --set-mark $mark2 # То есть никаких наворотов, в этом случае все на одном тазике. Понятно что в последствии этот тазик останется только для шейпера, а приоритезация трафика уже будет на пограничном маршрутизаторе, но пока так. Стоит ли стремится тут в сторону hash в tc и как это можно прикрутить сюда? И стоит ли заморачиваться с приоритезацией полосы для конечного абона чтобы допустим пользователю было комфортно сниферить по нету, и общаться по скайпу? И лучше это реализовывать и дальше на eth0 и eth1 или использовать ib0? Сеть с 0.0/16 серая, есть пользователи которым выдаем внешники, но уже через pppoe с mpd Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 18 октября, 2011 · Жалоба 1) Нет смысла делать двухшаговый "iptables -t mangle -j MARK --set-mark" и "tc filter". То же самое можно сделать в один шаг: "iptables -t mangle -j CLASSIFY --set-class". 2) На листья внутрь классов HTB лучше явно вешать дисциплину SFQ. По умолчанию будет совершенно неадекватная PFIFO. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
photon Опубликовано 19 октября, 2011 · Жалоба Приоритизацию трафика в зависимости от номера портов лучше не совмещать с шейпингом и хэш-фильтрами, иначе получится слишком сложное дерево классов. Лучше вынести это дело на псевдоустройство, а еще лучше -- на пограничный маршрутизатор. Пока что действительно проще повесить SFQ в качестве краевой дисциплины, чтобы юзерские соединения друг друга не душили. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...