Eu acredito que você queira:
- Direcione todos da eth1 10.0.0.0/24 para a eth2
- No entanto, mantenha o roteamento da caixa do Linux via eth0
Se for esse o caso, existem vários erros com o seu iptables & configurações de iproute2. Aqui está minha sugestão:
-t nat -A POSTROUTING -o eth2 -j MASQUERADE
-A FORWARD -i eth1 -o eth2 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
Para o roteamento, você precisará de duas tabelas personalizadas. Usarei números em vez de nomes porque não sei o que está em seu /etc/iproute2/rt_tables
. Agora, uma observação importante: Modificar o RPDB e rotas padrão do meu jeito irá causar perturbações temporárias na rede. Então, eu sugiro não digitar estes na CLI, em vez de colocá-lo em um script, então tudo acontece atomicamente (a menos que você esteja digitando os comandos no console físico da caixa do Linux).
ip route add default via 192.168.0.1 dev eth0 table 100
ip route add default via 225.228.123.209 dev eth2 table 102
ip route del default table main
ip rule add order 10 from all lookup main
ip rule add order 20 iif lo lookup 100
ip rule add order 30 iif eth1 lookup 102
Nós movemos o lookup main
como a primeira regra para garantir o roteamento adequado para sub-redes diretamente conectadas à caixa do Linux. Mas excluímos a rota padrão nessa tabela, porque queremos especificar rotas padrão diferentes dependendo de onde o pacote entra na caixa do Linux.
Agora, aqui está uma pergunta importante: A sub-rede 10.0.0.0/24 representa todas redes conectadas - direta ou indiretamente - a eth1?
Se SIM, a configuração é concluída.
Se NÃO, ou seja, existem outras sub-redes indiretamente ligadas à eth1 (digamos, 10.0.1.0/24, 10.0.2.0/24, etc.) que você pode acessar através de outro roteador ( digamos, 10.0.0.77/24), então você tem que adicionar mais rotas para a tabela main
:
ip route add 10.0.1.0/24 via 10.0.0.77 dev eth1 table main
ip route add 10.0.2.0/24 via 10.0.0.77 dev eth1 table main
... and so on ...
Nota: table main
não é necessário, mas um bom hábito