
Tengo la siguiente tabla de enrutamiento
10.0.1.0/24 dev eth0 proto kernel scope link src 10.0.1.151
10.0.10.0/24 dev eth1 proto kernel scope link src 10.0.10.151
default via 10.0.1.1 dev eth0
Tengo dos enlaces, uno va a través de una LAN y, a través de 10.0.1.1, sale a Internet. El otro es un enrutador ADSL (10.0.10.1) conectado directamente a eth1.
Si me conecto desde el exterior a la dirección IP externa de 10.0.10.1, se agota el tiempo de espera. Si cambio la ruta predeterminada a 10.0.10.1, la conexión desde el exterior a la dirección IP externa de 10.0.10.1 funciona. Esto parece un problema de enrutamiento (los paquetes provienen de 10.0.10.1, pero salen de 10.0.1.1, que es la ruta predeterminada), pero no estoy seguro de cómo resolverlo.
De hecho, quiero que la ruta predeterminada sea 10.0.1.1, solo quiero responder solicitudes a la IP externa de 10.0.10.1 a través de la misma interfaz.
Respuesta1
debe utilizar tablas de enrutamiento avanzadas ofrecidas por iproute2. Configura 2 tablas y envía todo el tráfico proveniente de una IP a una tabla específica, en esta tabla puede configurar una puerta de enlace predeterminada. Para establecer la ruta predeterminada global, simplemente prefiera una interfaz sobre la otra mediante métricas.
un ejemplo:
- agregando las puertas de enlace predeterminadas a las tablas:
ruta ip agregar valor predeterminado a través de 10.0.1.1 tabla 101
ruta ip agregar valor predeterminado a través de 10.0.10.1 tabla 102
- agregue una regla para que cada tráfico proveniente de una IP específica se envíe a la tabla:
regla ip agregada desde 10.0.1.151 búsqueda 101
regla ip agregada desde 10.0.10.151 búsqueda 102
- agregue la métrica qué puerta de enlace preferir:
ruta IP agregar valor predeterminado a través de 10.0.1.151 métrica 1000
ruta ip agregar valor predeterminado a través de 10.0.10.151 métrica 2000
Espero que esto te ayude a empezar :)