La situación:
eth0 - Red predeterminada con acceso a Internet IP: 192.168.2.1 Puerta de enlace predeterminada: 192.168.2.254
eth0:1 192.168.2.2 NIC virtual, lo mismo que eth0 pero IP diferente. Mismo cable Esta ip tiene diferente acceso a internet
eth1: 192.168.0.1
eth2: 192.168.1.1
Todo el tráfico de eth1 y eth2 se enruta a 192.168.2.254 usando 192.168.2.1
Necesito enrutar todo el tráfico proveniente de eth2 a 192.168.2.254 pero usando la IP secundaria 192.168.2.2
Probé muchas configuraciones diferentes pero no tuve éxito.
Respuesta1
Lo que desea se llama enrutamiento de política de origen. Se pueden encontrar instrucciones para configurar el enrutamiento de la política de origenaquí en el CÓMO de control de tráfico y enrutamiento avanzado de Linux.
El quid de la cuestión es que desea agregar una nueva tabla de enrutamiento a su sistema con un nombre como INET2 (estos comandos deben ejecutarse como root):
eco 200 INET2 >> /etc/iproute2/rt_tables
Luego desea agregar una regla de origen a la tabla de enrutamiento IP principal (supongo que se trata de una red /24):
regla ip agregada desde la tabla 192.168.1.0/24 INET2
A continuación, debe asignar una ruta predeterminada para la tabla INET2 (no mencionó la puerta de enlace predeterminada para su segunda conexión, así que supongo que aquí):
ruta ip agregar valor predeterminado a través de 192.168.2.253 dev eth0:1 tabla INET2
Por último, debe vaciar el caché de ruta en el sistema:
caché de vaciado de ruta IP
Las reglas creadas de esta manera son efímeras y desaparecerán cuando se reinicie el sistema (aunque la tabla INET2 persistirá), por lo que deberá colocar las reglas en un script de inicio para la interfaz de red. Exactamente cómo hacer esto depende de su distribución particular de Linux y en realidad es otra cuestión.