Je suppose que vous utilisez Linux et, en outre, que vous utilisez une distribution basée sur RedHat / CentOS. D'autres Unix et distributions nécessiteront des étapes similaires - mais les détails seront différents.
Commencez par tester (notez que ceci est très similaire à la réponse de @ Peter. Je suppose ce qui suit:
- eno0 est isp0 et a la passerelle par défaut globale
- eno1 est isp1 et a l'adresse IP / plage 192.168.1.2/24 avec la passerelle 192.168.1.1
Les commandes sont les suivantes:
$ 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
Le pare-feu n'est impliqué d'aucune façon. Les paquets de réponse auraient toujours été envoyés à partir de la bonne adresse IP - mais étaient auparavant envoyés via une mauvaise interface. Maintenant, ces paquets de la bonne adresse IP seront envoyés via la bonne interface.
En supposant que ce qui précède a fonctionné, vous pouvez maintenant rendre les modifications de règle et de route permanentes. Cela dépend de la version d'Unix que vous utilisez. Comme auparavant, je suppose une distribution Linux basée sur 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
Vérifiez que le changement de réseau est permanent:
$ ifdown eno1 ; ifup eno1
Si cela ne fonctionne pas, vous devez également choisir l'une des deux options suivantes dans les versions ultérieures de RH / CentOS:
- N'utilisez pas le service NetworkManager.service par défaut ; Utilisez network.service à la place. Je n'ai pas exploré les étapes exactes nécessaires pour cela. J'imagine que cela implique les commandes chkconfig ou systemctl standard pour activer / désactiver les services.
- Installez le package NetworkManager-dispatcher-routing-rules
Personnellement, je préfère installer le paquet de règles car il s’agit de l’approche la plus simple et la plus supportée:
$ yum install NetworkManager-dispatcher-routing-rules
Une autre recommandation forte consiste à activer le filtrage arp, afin d'éviter d'autres problèmes liés aux configurations de réseau double. Avec RH / CentOS, ajoutez le contenu suivant au fichier /etc/sysctl.conf:
net.ipv4.conf.default.arp_filter=1
net.ipv4.conf.all.arp_filter=1