Na verdade, eu só tive que descobrir isso há algumas semanas. Eu fiz isso usando o netem box como roteador, mas não acho que isso realmente importe muito.
Basicamente, a função netem que você quer (há mais do que apenas isso) irá dizer a você para segurar o tráfego por algum tempo determinado pelo usuário. Não se preocupa com a forma como o tráfego chega ao nic, e é por isso que eu acho que você pode usar uma ponte como você descreveu.
Uma coisa que eu não entendi da sua pergunta foi em qual direção você queria atrasar o tráfego ou ambas as direções. Realmente não importa muito, mas você terá que emitir o comando netem pelo menos uma vez para cada nic de "saída" - isto é, para cada direção que o tráfego está fluindo. Por padrão, o netem afetará apenas o tráfego de saída, não a entrada.
Dito isto, aqui está o comando que você deseja:
tc qdisc add dev eth0 root handle 1:0 netem delay 25ms
Esse comando introduzirá um atraso de 25 ms em todos os pacotes que saem do host através de eth0. Você pode, é claro, ajustar o número de eth (x) para o nic apropriado e os 25 ms para o seu atraso desejado. Há uma pegadinha, no entanto: anote no comando que NÃO há ESPAÇO entre o "25" e o "ms". Isso é importante; ele irá errar se você colocar o espaço.
Na verdade, há mais coisas que você pode fazer com atraso. Você pode colocar um segundo valor, assim:
tc qdisc add dev eth0 root handle 1:0 netem delay 25ms 10ms
Isso atrasará o tráfego em uma média de 25 ms, mas cada pacote será atrasado por um número aleatório de ms entre 15ms e 35ms (25 ms + / - 10 ms)
Para "desligar" o netem, emita o mesmo comando, mas mude "add" para "del".
Há muito mais que você pode fazer com o netem também, incluindo reordenação de pacotes, queda de pacotes, corrupção de pacotes e duplicação de pacotes, tudo aleatório ou correlacionado com os pacotes anteriores. Muito mais do que eu posso entrar aqui. Para mais informações, confira www.linuxfoundation.org/collaborate/workgroups/networking/netem ou o homem página para netem, "man netem".