Supongo que está ejecutando Linux y, además, que está utilizando una distribución basada en RedHat / CentOS. Otros Unix y distribuciones requerirán pasos similares, pero los detalles serán diferentes.
Comience probando (tenga en cuenta que esto es muy similar a la respuesta de @ Peter. Asumo lo siguiente:
- eno0 es isp0 y tiene la puerta de enlace predeterminada general
- eno1 es isp1 y tiene el IP / rango 192.168.1.2/24 con la puerta de enlace 192.168.1.1
Los comandos son los siguientes:
$ 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
El firewall no está involucrado de ninguna manera. Los paquetes de respuesta siempre se habrían enviado desde la IP correcta, pero anteriormente se enviaban a través de la interfaz incorrecta. Ahora estos paquetes de la IP correcta se enviarán a través de la interfaz correcta.
Suponiendo que lo anterior funcionó, ahora puede hacer que la regla y los cambios de ruta sean permanentes. Esto depende de la versión de Unix que esté utilizando. Como antes, estoy asumiendo una distribución de Linux basada en 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
Probar que el cambio de red es permanente:
$ ifdown eno1 ; ifup eno1
Si eso no funcionó, en las versiones posteriores de RH / CentOS también debe ir con una de dos opciones:
- No use el servicio predeterminado NetworkManager.service ; Utilice network.service en su lugar. No he explorado los pasos exactos necesarios para esto. Me imagino que involucra los comandos estándar chkconfig o systemctl para habilitar / deshabilitar servicios.
- Instale el paquete NetworkManager-dispatcher-routing-rules
Personalmente, prefiero instalar el paquete de reglas, ya que es el enfoque más simple y compatible:
$ yum install NetworkManager-dispatcher-routing-rules
Otra recomendación importante es habilitar el filtrado de arp, ya que esto evita otros problemas relacionados con las configuraciones de red dual. Con RH / CentOS, agregue el siguiente contenido al archivo /etc/sysctl.conf:
net.ipv4.conf.default.arp_filter=1
net.ipv4.conf.all.arp_filter=1