Existem várias alternativas para alcançar o que você está procurando. Mas antes de tudo, sim, é possível. Porém, muitas das possibilidades são bastante complexas.
Uma das opções mais fáceis pode ser executar o daemon do torrent sob um próprio user \ group. Em seguida, use iptables para marcar todo o tráfego daquele usuário \ grupo com um sinalizador. Então, depois, deixe o filtro tc naquele sinalizador e coloque-o na fila de baixa prioridade. Veja o final deste wiki para uma ideia.
Para o que você está pedindo, você precisa apenas de duas filas ( fig 1. ), uma baixa prioridade e uma alta. Embora seja melhor ficar com algo mais próximo deste exemplo . Você pode adotar o exemplo para as suas necessidades, basta soltar a peça com nat e fazer com que a marca padrão seja um valor menor que a marca que você usará para o tráfego gerado pelo daemon.
Então, para minha sugestão, você pode usar algo como iptables -A OUTPUT -t mangle -m owner --uid-owner ZZZZ -j MARK --set-mark 6
ZZZZ é o identificador do usuário.
Uma alternativa para definir um sinalizador pode ser usar iptables -A OUTPUT -t mangle -m owner --uid-owner ZZZZ -j CLASSIFY --set-class X:Y
, em que X e Y é o identificador de classe, e ZZZZ é o identificador do usuário.
Fig 1:
+---------+
| root 1: |
+---------+
|
+------------+
| class 1:1 |
+------------+
| |
+----+ +----+
|1:10| |1:11|
+----+ +----+
O melhor é ter uma folha para cada marca fw. Mas meu melhor conselho agora é ler e tentar entender o exemplo acima para adotá-lo para suas necessidades. Se você tiver alguma dúvida, adicione-as.
No exemplo acima , é importante que você entenda essa parte ( > fig 2. ) quando você quiser escrever regras iptables para marcar ou classificar o tráfego. Para uma breve explicação, com um diagrama de aparência um pouco diferente, dê uma olhada nisso .
Fig 2:
First you have to understand how packet traverse the filters with iptables:
+------------+ +---------+ +-------------+
Packet -| PREROUTING |--- routing-----| FORWARD |-------+-------| POSTROUTING |- Packets
input +------------+ decision +---------+ | +-------------+ out
| |
+-------+ +--------+
| INPUT |---- Local process -| OUTPUT |
+-------+ +--------+
Isso apontará você na direção certa:
Regras, orientações e abordagens
Uma jornada de controle de tráfego: cenários do mundo real