Seu equívoco é que você parece pensar que iptables
faz o encaminhamento.
As regras usadas no primeiro exemplo apenas permitem o encaminhamento. O encaminhamento já é permitido por padrão, portanto, essas regras só fazem sentido como exceções a uma regra geral de negação posterior.
Você só precisa ativar o encaminhamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
É claro que o gateway deve ser o gateway padrão para A
e B
ou, pelo menos, deve ser o gateway para se alcançar. Portanto, se não funcionar com o encaminhamento ativado, você deve incluir as tabelas de roteamento nas três máquinas.