sardaukar Posted September 3, 2008 Posted September 3, 2008 Здравствуйте! Дано: Интерфейсу eth1 назначена дисциплина PRIO: tc qdisc add dev eth1 root handle 1: prio IP-трафик, в направлении 192.168.0.2 нужно поместить в подкласс 1:1 tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.2/32 flowid 1:1 Остальное в подкласс 1:3 tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 0/0 flowid 1:3 на каждую полосу я повесил sfq: tc qdisc add dev eth1 parent 1:1 handle 10: sfq tc qdisc add dev eth1 parent 1:2 handle 20: sfq tc qdisc add dev eth1 parent 1:3 handle 30: sfq Т.е. в подкласс 20: не должно попасть ничего, а "tc -s qdisc ls dev eth1" показывает, что счетчик там крутится, т.е как-будто пакеты распределяются в соответствии с priomap. Подскажите, плз, как добиться желаемого не прибегая к маркировке пакетов средствами netfilter? Т.е. как работает просмотр фильтров? В документации написано, что согласно порядку добавления и приоритету, но не сказано - прекращается ли просмотр фильтров при совпадении. Заранее благодарен всем ответившим! Вставить ник Quote
nuclearcat Posted September 3, 2008 Posted September 3, 2008 prio не подходит для этого IMHO лучше сделать через HTB/HSFC приоритеты в фильтрах делать через prio tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.2/32 flowid 1:1 tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip dst 0/0 flowid 1:3 Вставить ник Quote
sardaukar Posted September 3, 2008 Author Posted September 3, 2008 prio не подходит для этого IMHOлучше сделать через HTB/HSFC В данном примере я хотел только приоритетов без нарезания скорости.приоритеты в фильтрах делать через prio tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.2/32 flowid 1:1 tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip dst 0/0 flowid 1:3 Про prio я понял из lartc и прочих howto, но, то ли там нет, то ли проглядел один момент - что происходит при срабатывании фильтра? Там first match или last match? Т.е. есть пакет с dst ip 192.168.0.2, какое правило сработает в итоге? Вставить ник Quote
nuclearcat Posted September 3, 2008 Posted September 3, 2008 Ну вообще - first match, но проверять нужно по tc -s -d filter show dev eth1 сначала обрабатываются фильтры с меньшим prio Если prio одинаковый - хз, наверное first match. Пакеты в 1:2, возможно "не-ip (arp?)", т.к. у вас фильтр не на protocol all, а на protocol ip Вставить ник Quote
sardaukar Posted September 3, 2008 Author Posted September 3, 2008 Опытным путем выяснил, что работает по принципу first match. Всем большое спасибо. Ну вообще - first match, но проверять нужно по tc -s -d filter show dev eth1сначала обрабатываются фильтры с меньшим prio Если prio одинаковый - хз, наверное first match. Огромный пасиб! Разобрался.Пакеты в 1:2, возможно "не-ip (arp?)", т.к. у вас фильтр не на protocol all, а на protocol ipВсе пакеты - ip. Вставить ник Quote
nuclearcat Posted September 3, 2008 Posted September 3, 2008 Всегда приятно помочь человеку грамотно задающему вопросы, ищущему ответы самостоятельно и схватывающему на лету. :-) Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.