O primeiro passo ao configurar o Linux como um roteador é ativar o encaminhamento de IP:
$ echo "1" > /proc/sys/net/ipv4/ip_forward
Agora o sistema operacional pode rotear pacotes entre interfaces.
Em seguida, use iptables
e netfilter para criar regras de tráfego.
Eu sugiro que você use um front-end para iptables
e Netfilter para configurar seu roteador e gerenciar as regras e políticas de interface.
Se preferir uma interface gráfica, consulte algumas das outras respostas úteis nesta página.
Se você quiser hackear a linha de comando e experimentar o verdadeiro poder da Força, tente o excelente front-end Shorewall iptables
e netfilter que lhe permitirão configurar facilmente o seu roteador imediatamente. No entanto, à medida que você aprende mais sobre o roteamento, o Shorewall permitirá configurações cada vez mais refinadas e controle de fluxo de rede em nível de pacote.
O pacote shorewall está disponível nos repositórios do Ubuntu (escolha o pacote shell ou Perl). O site Shorewall tem uma ótima documentação e tutoriais úteis para uma infinidade de cenários. Os exemplos básicos de 2 ou 3 interfaces devem ajudá-lo.