Estou assumindo que você está executando o Linux e, além disso, que você está utilizando uma distribuição baseada em RedHat / CentOS. Outros Unix e distribuições exigirão etapas semelhantes - mas os detalhes serão diferentes.
Comece por testar (note que isso é muito semelhante à resposta de @ Peter. Estou assumindo o seguinte:
- eno0 é isp0 e possui o gateway padrão geral
- eno1 é isp1 e tem o IP / intervalo 192.168.1.2/24 com gateway 192.168.1.1
Os comandos são os seguintes:
$ echo 200 isp1 >> /etc/iproute2/rt_tables
$ ip rule add from eno1 table isp1
$ ip route add default via 192.168.1.1 dev eno1 table isp1
O firewall não está envolvido de forma alguma. Os pacotes de resposta sempre teriam sido enviados do IP correto - mas anteriormente estavam sendo enviados pela interface errada. Agora, esses pacotes do IP correto serão enviados pela interface correta.
Assumindo que o acima funcionou, agora você pode tornar a regra e rotear as alterações permanentes. Isso depende de qual versão do Unix você está usando. Como antes, estou assumindo uma distribuição Linux baseada em RH / CentOS.
$ echo "from eno1 table isp1" > /etc/sysconfig/network-scripts/rule-eno1
$ echo "default via 192.168.1.1 dev eno1 table isp1" > /etc/sysconfig/network-scripts/route-eno1
Teste que a mudança de rede é permanente:
$ ifdown eno1 ; ifup eno1
Se isso não funcionou, nas versões posteriores do RH / CentOS você também precisa escolher uma das duas opções:
- Não use o padrão NetworkManager.service ; Use network.service . Eu não explorei as etapas exatas necessárias para isso. Eu imagino que envolve os comandos padrão chkconfig ou systemctl para ativar / desativar serviços.
- Instale o pacote de regras do NetworkManager-dispatcher-routing
Pessoalmente, prefiro instalar o pacote de regras, pois é a abordagem mais simples e mais suportada:
$ yum install NetworkManager-dispatcher-routing-rules
Outra recomendação strong é ativar o filtro arp, pois isso evita outros problemas relacionados com configurações de rede dupla. Com o RH / CentOS, adicione o seguinte conteúdo ao arquivo /etc/sysctl.conf:
net.ipv4.conf.default.arp_filter=1
net.ipv4.conf.all.arp_filter=1