swelf Posted May 19, 2015 Posted May 19, 2015 Стоял себе у нас debian 7, все прекрасно работало, решили обновить до debian 8, обновили, вроде все ок, но через некоторое время обнаружили, что шейпер то не работает. /sbin/modprobe ifb numifbs=3 /sbin/ip link set up ifb0 mtu 9000 txqueuelen 10000 /sbin/tc qdisc del dev ifb0 root /sbin/tc qdisc add dev ifb0 root handle 1: htb /sbin/tc class add dev ifb0 parent 1: classid 1:1 htb rate 200000000kbit /sbin/tc class add dev ifb0 parent 1:1 classid 1:2 htb rate 1512000kbit prio 1 /sbin/tc class add dev ifb0 parent 1:1 classid 1:3 htb rate 153600kbit prio 7 /sbin/ip link set up ifb1 mtu 9000 txqueuelen 10000 /sbin/tc qdisc del dev ifb1 root /sbin/tc qdisc add dev ifb1 root handle 1: htb /sbin/tc class add dev ifb1 parent 1: classid 1:1 htb rate 200000000kbit /sbin/tc class add dev ifb1 parent 1:1 classid 1:2 htb rate 1512000kbit prio 1 /sbin/tc class add dev ifb1 parent 1:1 classid 1:3 htb rate 153600kbit prio 7 /sbin/tc filter add dev ifb0 parent 1:0 prio 5 protocol ip u32 /sbin/tc filter add dev ifb0 parent 1:0 prio 5 handle 10: protocol ip u32 divisor 256 собственно на последней строке выдает # /sbin/tc filter add dev ifb0 parent 1:0 prio 5 handle 10: protocol ip u32 divisor 256 RTNETLINK answers: Invalid argument We have an error talking to the kernel # uname -a Linux rd2 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) i686 GNU/Linux iproute2 пробовал собрать из исходников, результат тот же. Вставить ник Quote
tokra Posted May 19, 2015 Posted May 19, 2015 собственно на последней строке выдает # /sbin/tc filter add dev ifb0 parent 1:0 prio 5 handle 10: protocol ip u32 divisor 256 RTNETLINK answers: Invalid argument We have an error talking to the kernel # uname -a Linux rd2 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) i686 GNU/Linux iproute2 пробовал собрать из исходников, результат тот же. Поддержка в ядре есть? Вставить ник Quote
swelf Posted May 19, 2015 Author Posted May 19, 2015 Как в конфиге опция выглядит? ядро дистрибутивное. root@rd2:~# cat /boot/config-3.16.0-4-686-pae | grep -i hash CONFIG_NFT_HASH=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_IP_SET_HASH_IP=m CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETNET=m CONFIG_IP_SET_HASH_NETPORT=m CONFIG_IP_SET_HASH_NETIFACE=m CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_SECURITY_APPARMOR_HASH=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y # Hash modes CONFIG_CRYPTO_GHASH=m CONFIG_CRYPTO_USER_API_HASH=m root@rd2:~# cat /boot/config-3.16.0-4-686-pae | grep -i u32 CONFIG_NETFILTER_XT_MATCH_U32=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y CONFIG_NET_EMATCH_U32=m Вставить ник Quote
swelf Posted May 19, 2015 Author Posted May 19, 2015 погуглил, CONFIG_NET_CLS_U32 включена, модуль cls_u32 загружен. root@rd2:~# lsmod | grep u32 cls_u32 16856 0 Вставить ник Quote
tokra Posted May 19, 2015 Posted May 19, 2015 погуглил, CONFIG_NET_CLS_U32 включена, модуль cls_u32 загружен. root@rd2:~# lsmod | grep u32 cls_u32 16856 0 EMATCH_U32 ? Вставить ник Quote
swelf Posted May 19, 2015 Author Posted May 19, 2015 em_u32 я правильно понял? загрузил модуль, ничего не поменялось, в тоже время правила создаются у меня на ноуте(убунта 14.04) без этого модуля. Вставить ник Quote
Megas Posted May 19, 2015 Posted May 19, 2015 что за критическая надобность переходить на jessie? Вставить ник Quote
pavel.odintsov Posted May 19, 2015 Posted May 19, 2015 (edited) Например route cache в Wheeze. Выпил которого был успешно осуществлен в районе 3/14го ядра. В итоге апгрейд на Джесси дает 2-3х кратное падение нагрузки на роутер. Edited May 19, 2015 by pavel.odintsov Вставить ник Quote
swelf Posted May 20, 2015 Author Posted May 20, 2015 https://bugzilla.kernel.org/show_bug.cgi?id=84661 Похоже вот он баг, все работает, но не работает вывод правил. А я и не проверил то на практике, заббикс мне сказал что отсутсвуют tc rules в нужном кол-ве и я поверил ему, что они не добавились. А по факту оказалось, что все шейпится. Вставить ник Quote
pavel.odintsov Posted May 20, 2015 Posted May 20, 2015 Еще один повод не использовать 32 битные ядра :) Вставить ник 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.