Vinculación a una interfaz de red específica en un servidor Linux con múltiples puertas de enlace

Vinculación a una interfaz de red específica en un servidor Linux con múltiples puertas de enlace

Estoy intentando ejecutar un programa de servidor en mi máquina local. Tiene 2 rutas a Internet:

  • 10.0.0.1/24on eth0es la puerta de enlace y la subred en la interfaz con la conexión más rápida; sin embargo, un firewall me impide acceder a cualquier servidor vinculado a puertos TCP.
  • 10.8.0.1/24on eth1es la puerta de enlace y la subred en la interfaz más lenta; sin embargo, tengo el control del dispositivo de puerta de enlace y puedo reenviar puertos exitosamente a través de él y el servidor es visible en Internet.

En mi máquina tengo estas rutas:

default via 10.0.0.1 dev eth0 src 10.0.0.x metric 203 default via 10.8.0.1 dev eth1 metric 800 10.8.0.0/24 dev eth1 proto kernel scope link src 10.8.0.y 10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.x metric 203

Claramente, la ruta vía eth0tendría prioridad en circunstancias normales; sin embargo, para que mi servidor sea redireccionado, necesita usar la puerta de enlace predeterminada en la eth1interfazsinredirigir todo el resto del tráfico a través de la misma interfaz.

Lo que he intentado hasta ahora es vincular el servidor a la dirección, 10.8.0.ylo que significa que solo aceptará conexiones cuyo destino sea esa dirección IP. Sin embargo, no ha funcionado para encaminar el tráfico en la dirección opuesta. He verificado usando tcpdump -i eth1 -p 25561que se reciben conexiones entrantes, pero al monitorear ambas eth0no eth1veo una respuesta saliente. La conexión finalizará en el cliente remoto al no recibir respuesta.

¿Alguien más ha intentado hacer algo similar y puede darme alguna idea sobre cómo debo configurarlo?

información relacionada