A situação:
eth0 - Rede padrão com IP de acesso à internet: 192.168.2.1 Gateway padrão: 192.168.2.254
eth0:1 192.168.2.2 NIC virtual, a mesma coisa que eth0, mas com IP diferente. Mesmo cabo Este ip tem um acesso à internet diferente
eth1: 192.168.0.1
eth2: 192.168.1.1
Todo o tráfego de eth1 e eth2 é roteado para 192.168.2.254 usando 192.168.2.1
Preciso rotear todo o tráfego vindo da eth2 para 192.168.2.254 mas usando o ip secundário 192.168.2.2
Tentei várias configurações diferentes, mas sem sucesso.
Responder1
O que você deseja é chamado de roteamento de política de origem. Instruções para configurar o roteamento da política de origem podem ser encontradasaqui no Linux Advanced Routing & Traffic Control HOWTO.
O ponto crucial é que você deseja adicionar uma nova tabela de roteamento ao seu sistema com um nome como INET2 (esses comandos devem ser executados como root):
echo 200 INET2 >> /etc/iproute2/rt_tables
Então você deseja adicionar uma regra de origem à tabela principal de roteamento IP (suponho que seja uma rede /24):
adição de regra de ip da tabela 192.168.1.0/24 INET2
Em seguida, você precisa atribuir uma rota padrão para a tabela INET2 (você não mencionou o gateway padrão para sua segunda conexão, então estou supondo aqui):
rota ip adicionar padrão via 192.168.2.253 dev eth0:1 tabela INET2
Por último, você precisa liberar o cache de rotas no sistema:
cache de liberação de rota ip
As regras criadas desta forma são efêmeras e desaparecerão quando o sistema for reiniciado (embora a tabela INET2 persista), então você precisará colocar as regras em um script de inicialização para a interface de rede. Exatamente como fazer isso depende da sua distribuição específica do Linux e é realmente outra questão.