Aparentemente, o problema é que, por padrão, você só pode ter um gateway padrão em um sistema. O caso descrito levaria a um roteamento assíncrono.
Solução
O programa iproute2, que é incluído em todas as distribuições atuais do Linux e já instalado, como regra, pode ser usado para a solução deste problema. Normalmente, um sistema Linux tem apenas uma tabela de roteamento, na qual apenas um gateway padrão pode fazer entradas. Com o iproute2, você tem a capacidade de configurar uma tabela de roteamento adicional, por um lado, e permitir que essa tabela seja usada pelo sistema com base em regras, por outro. Posição Inicial
Vamos supor que temos duas interfaces: eth0 e eth1. As duas redes que devem ser usadas são 192.168.0.0/24 e 10.10.0.0/24, sendo que o primeiro endereço IP em cada rede deve ser o gateway. A configuração inicial apareceria da seguinte maneira. / etc / network / interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
# The secondary network interface
allow-hotplug eth1
iface eth1 inet static
address 10.10.0.10
netmask 255.255.255.0
Adicionando uma segunda tabela de roteamento
Para adicionar uma nova tabela de roteamento, o arquivo / etc / iproute2 / rt_tables deve ser editado. Vamos chamar a tabela de roteamento “rt2” e definir sua preferência para 1. O arquivo nomeado deve então aparecer da seguinte forma.
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
1 rt2
Configurando a nova tabela de roteamento
A partir deste ponto, quatro comandos são necessários para atingir nosso objetivo. Primeiro, a nova tabela de roteamento precisa ser preenchida, o que é feito usando o seguinte comando.
ip route add 10.10.0.0/24 dev eth1 src 10.10.0.10 table rt2
ip route add default via 10.10.0.1 dev eth1 table rt2
O primeiro comando diz que a rede, 10.10.0.0/24, pode ser acessada através da interface eth1. O segundo comando define o gateway padrão. Regras de roteamento
Para que o sistema saiba quando usar nossa nova tabela de roteamento, duas regras devem ser configuradas.
ip rule add from 10.10.0.10/32 table rt2
ip rule add to 10.10.0.10/32 table rt2
Essas regras dizem que o tráfego do endereço IP, 10.10.0.10, bem como o tráfego direcionado para ou por meio desse endereço IP, deve usar a tabela de roteamento rt2.