Исходная тема тут : http://www.linux.org.ru/view-message.jsp?msgid=2217443
В кратце проблема - стоит только добавить строки
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j ACCEPT iptables -t mangle -A PREROUTING -m ipp2p --ipp2p -j MARK --set-mark 20 iptables -t mangle -A PREROUTING -m mark --mark 20 -j CONNMARK --save-mark
Для маркировки пакетов - то последующие правила начинают жить своей жизнью:
iptables -t mangle -A PREROUTING -p ! tcp -j MARK --set-mark 11 iptables -t mangle -A PREROUTING -p tcp --sport 80 -j MARK --set-mark 11 iptables -t mangle -A PREROUTING -p tcp -m length --length :64 -j MARK --set-mark 11 iptables -t mangle -A PREROUTING -m mark --mark 0 -j MARK --set-mark 40
Т.е. в POSTROUTING маркировка этих пакетов выдает неадекватную информацию в объеме трафика + ( случайно заметил ) любое правило с маркировкой не упомянутой выше начинает генерировать трафик !
Т.е. :
iptables -t mangle -A POSTROUTING -o eth1 -m mark --mark 11 -j ACCEPT iptables -t mangle -A POSTROUTING -o eth1 -m mark --mark 40 -j ACCEPT iptables -t mangle -A POSTROUTING -o eth1 -m mark --mark 10 -j ACCEPT iptables -t mangle -A POSTROUTING -o eth1 -j ACCEPT
Правило с марком 10 покажет наличие трафика !!!
11 марк перестает совпадать с количеством трафика в прероутинге , 40 марк аналогично не совпадает с прероутингом!
Но ! Стоит убрать строку iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
как все становиться ОК в объемах трафика , но перестает ограничиваться пиринг. Т.е. природа "уплыва" объемов трафика между прероутингом и построутингом - эта строчка. Без нее все тип топ. Даже если из первых тех 4х строк остается только эта строчка - с объемами трафика начинается какой то голяк - и соответственно неадекватно начинает вести себя ограничение трафика при помощи HTB.
Вопрос - что я делаю не так ? ( я пробывал обычный трафик ДО , после , между 4 и последовательно между ними - та же фигня ) Без пиринга все тип топ и ограничивается как нужно, и подсчитывается адекватно - столько полоса, сколько она ограничивается...
Как соеденить это все правильно ???