В сообщении от Sunday 25 May 2008 02:00:24 Andrew Kornilov написал(а): > Приветствую. > > Перекладываю сейчас ADSL Bandwidth Management HOWTO на настройки etcnet, > для этого уже и патчик небольшой в config-qos добавил. Есть вопрос по > модулю MARK в iptables: важен ли порядок следования команд iptables для > конечного результата? Судя по тестированию, iptables не использует схему > first match, то есть, возврата из списка правил нет при найденном > совпадении. Поясню: > > mark as 23 if tcp and sport is 0:1024 > mark as 23 if tcp and dport is 0:1024 > mark as 23 if tcp and dport is 5190 > mark as 23 if tcp and sport is 5190 > mark as 23 if tcp and dport is 5222 > mark as 23 if tcp and sport is 5222 > mark as 23 if tcp and dport is 5223 > mark as 23 if tcp and sport is 5223 > mark as 22 if tcp and dport is ssh > mark as 22 if tcp and sport is ssh > mark as 22 if tcp and dport is telnet > mark as 22 if tcp and sport is telnet > mark as 21 if tcp and length is :64 > mark as 21 if udp > mark as 20 if icmp > mark as 26 if tcp and sport is 20 > mark as 26 if tcp and dport is 20 > mark as 26 if tcp and sport is 25 > mark as 26 if tcp and dport is 25 > mark as 26 if marked as 0 > mark as 26 > > Например, правило маркировки mark as 26 if tcp and dport is 20 попадает в > более общее правило mark as 23 if tcp and dport is 0:1024. iptables > увеличивает счетчик в обоих правилах, то есть, он для каждого пакета > пытается применить каждое правило, независимо от успешности предыдущего. > Меня интересует, какое конечное значение mark будет у пакета (которое и > будет анализировать /sbin/tc) и как его вообще увидеть? Хочется отладить экспериментально пришел тоже к такому выводу. На выходе примениться последнее правило, которое удовлетворяет условию. Я вышел из такой ситуации добавлением после каждого правила return mark as 23 if tcp and sport is 0:1024 if tcp and sport is 0:1024 return mark as 23 if tcp and dport is 5190 if tcp and dport is 5190 return
_______________________________________________ Sysadmins mailing list [email protected] https://lists.altlinux.org/mailman/listinfo/sysadmins
