Roteie todo o tráfego de uma interface para o gateway padrão com IP diferente

Roteie todo o tráfego de uma interface para o gateway padrão com IP diferente

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.

informação relacionada