Zamieniłem wcześniej opisywane IMQ na IFB. Działa to chyba lepiej, nie mam efektu zawieszenia maszyny w przypadku, gdy przez "interfejs" idzie ruch generowany lokalnie. IMQ przemawiało do mnie nieco bardziej z tego powodu, że ruch do "urządzenia" można było kierować przez reguły iptables, w przypadku IFB ruch należy kierować przez filtry tc z pakietu iproute, a ich składni nie lubię jakoś specjalnie. Na chwilę obecną filtr wygląda mniej więcej tak:
tc filter add dev eth0 parent 1: protocol ip prio 10 \ u32 match ip dst 0.0.0.0/0 flowid 1:1 \ action mirred egress redirect dev ifb1
Na interfejsie ifb1 mam normalne kolejki, które wcześniej miałem na interfejsie fizycznym (jak od strony wewnętrznej był tylko jeden). A jak to mniej więcej mam zorganizowane, przedstawiłem tutaj.