К сожаления официальный сайт проекта умер.
Да здравствует www.linuximq.net
Оригинальные патчи исправленные для сборки с ветками ядра:
imq для 3.13
md5 1f1eb139cb08ddc9fe9699970e9b2ace
imq для 3.17
md5 7126a8e6200816f7ac55bee47338d4ec
imq для 3.18
md5 c4abb4eb2940bb1132fd7856aab36549
imq для 4.0.3
md5 896ec7bb872987825203063365a0abf0
Основная проблема оригинальной версии IMQ - очень странно работает с NET_NS (т.е. внутри lxc). Мой вариант для 4.0.3 для корректной работы с netns. вариант для 4.4.42 вариант для 4.9.3
Не совсем ясно зачем нужно создавать сразу все imqX интерфейсы (в старых ядрах это было необходимо) т.к. в новых ядрах "ip li add" позволяет создать любой виртуальный интерфейс даже если в man/help этот тип интерфейса не указан!
Я обнаружил интересную особенность: если сначала запустить htb.init, а потом поднять imq0, то транзитный и входящий трафик ограничиваются нормально, а исходящий трафик не ограничивается.
Важно! Сначала поднимаем интерфейс imqX, а потом запускаем htb.init!
Не используйте без надобности imqX интерфейсы в контейнер с "type = phys"! Их лучше создать внутри контейнера через "ip li add".
Помните! Все виртуальные сетевые интерфейсы удаляются после завершения контейнера. imqX отданный в контейнер после завершения будет удален из системы полностью!