Este script funciona bem, embora seja bastante antigo. Muitos outros o usaram como: link
A nota tc não funciona muito bem para o tráfego de entrada, a menos que você use um pacote virtual de ifiv e distribua os pacotes através disso. É muito melhor e recomendado usar a cadeia OUTPUT nas tabelas IP.
Existem imensos scripts disponíveis na internet para esquematizar isso.
Sua pergunta não está clara, já que você mencionou também "roteador Linux". mas o seu acsii diagraem não mostra tal coisa na sua "topologia de rede"
Isso significa que você está tentando executar o script acima em um host multihome? Isso nunca funcionará para o que você está tentando fazer. Se este for o caso, você deve aprender como usar o iptables corretamente, assim como o tc. Mais notavelmente quais cadeias de tabelas IP usam.
Isso não é difícil de realizar.