opt1k Posted July 19, 2011 · Report post Добрый день! Есть: 1) сеть 192.168.5.0/24 2) роутер с линуксом eth0 - интернет, eth1 - 192.168.5.1 3) куча клиентов в сети 192.168.5.0/24 Нужно ограничивать скорость от клиентов в интернет. Всё вроде бы получилось, но текущие настройки режут и трафик от клиентов к самому роутеру 192.168.5.1 Далее привожу текущий конфиг: #in root $TC qdisc add dev ifb0 root handle 1: htb default 300 #out root $TC qdisc add dev ifb1 root handle 2: htb default 300 #ingress $TC class add dev ifb0 parent 1: classid 1:1 htb rate 900kbit ceil 901kbit #egress $TC class add dev ifb1 parent 2: classid 2:1 htb rate 900kbit ceil 901kbit #others $TC class add dev ifb0 parent 1:1 classid 1:300 htb rate 32kbit $TC class add dev ifb1 parent 2:1 classid 2:300 htb rate 32kbit $TC qdisc add dev ifb0 parent 1:300 sfq perturb 10 $TC qdisc add dev ifb1 parent 2:300 sfq perturb 10 #2 $TC class add dev ifb0 parent 1:1 classid 1:2 htb rate 64kbit ceil 512kbit $TC class add dev ifb1 parent 2:1 classid 2:2 htb rate 64kbit ceil 512kbit $TC qdisc add dev ifb0 parent 1:2 sfq perturb 10 $TC qdisc add dev ifb1 parent 2:2 sfq perturb 10 $TC filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.5.2 flowid 1:2 $TC filter add dev ifb1 protocol ip parent 2:0 prio 1 u32 match ip dst 192.168.5.2 flowid 2:2 #voip $TC class add dev ifb0 parent 1:1 classid 1:100 htb rate 320kbit ceil 512kbit $TC class add dev ifb1 parent 2:1 classid 2:100 htb rate 320kbit ceil 512kbit $TC qdisc add dev ifb0 parent 1:100 sfq perturb 10 $TC qdisc add dev ifb1 parent 2:100 sfq perturb 10 $TC filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.5.100 flowid 1:100 $TC filter add dev ifb1 protocol ip parent 2:0 prio 1 u32 match ip dst 192.168.5.100 flowid 2:100 ifconfig ifb0 up #ingress redirection $TC qdisc add dev eth1 ingress $TC filter add dev eth1 parent ffff: protocol ip prio 1 u32 match u32 0 0 flowid 1: action mirred egress redirect dev ifb0 #egress redirection $TC qdisc add dev eth1 root handle 2: htb $TC filter add dev eth1 parent 2: protocol ip prio 1 u32 match u32 0 0 flowid 2: action mirred egress redirect dev ifb1 Вобщем надо каким-то образом переделать фильтр u32 match. Я понимаю как работает данный фильтр. И предполагаю что нужно сделать подобное правило: трафик с src 192.168.5.0 и dst НЕ 192.168.5.0 отправлять в ifb, остальное мимо. Но вот как это сделать с помощью данного фильтра - не понимаю. Смотрел документацию и не нашёл там возможности задать адрес отрицанием. Подскажите, каким образом можно решить мою проблему? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
opt1k Posted July 21, 2011 · Report post Видимо и правда нельзя использовать отрицание, ну и фик с ним. Подскажите, как будет обработан трафик в такой ситуации: 1)есть трафик с src 192.168.5.0\24 и dst 192.168.5.0\24. 2)есть два разных правила, но трафик соотетствует обоим, например : $TC filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.5.0\24 flowid 1:100 $TC filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.5.0\24 flowid 1:101 Интересует: трафик будет обработан только первым правилом? обоими? как-то ещё? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...