Acho que tudo o que você quer fazer pode ser feito usando uma combinação de iptables e iproute2. Por favor, dê uma olhada no Iptables-Tutorial e no howto avançado do roteador .
Esta pergunta é uma continuação de " Como configurar um servidor Linux como um roteador? " mas com um pré-requisito adicional: quero ter certeza de que, antes de começar a montar um roteador Ubuntu, poderei implementar a QoS. Isso é principalmente para usar QoS de baixa granularidade que eu quero um roteador personalizado, então eu preciso ter certeza de que é possível.
Eu quero usar uma máquina Ubuntu Server como meu roteador de rede doméstica (com regras DHCP, DMZ, Firewall). Eu também quero poder limitar a largura de banda de up-link (para fornecer QoS) com base nos seguintes critérios:
Por exemplo, eu gostaria de poder limitar a largura de banda do meu Google Drive Sync (que sincroniza com um IP do Google na porta 443), mas somente se outros serviços com maior prioridade precisarem da largura de banda.
Na verdade, eu gostaria de ter uma mistura entre o StreamEngine QoS (que pode limitar a largura de banda ao IP de destino, mas só funciona com a prioridade 0..255 no meu roteador D-Link) e roteadores "casuais" da Cisco (que permitem para limite de largura de banda explícito - 50 KB / s por exemplo - mas apenas em regras de IP locais).
Isso é possível usando o Ubuntu Server? Se sim, por onde devo começar?
Acho que tudo o que você quer fazer pode ser feito usando uma combinação de iptables e iproute2. Por favor, dê uma olhada no Iptables-Tutorial e no howto avançado do roteador .