Tengo un sistema con dos interfaces. Ambas interfaces están conectadas a Internet. Uno de ellos está configurado como ruta predeterminada; un efecto secundario de esto es que si un paquete entra en la interfaz de ruta no predeterminada, la respuesta se devuelve a través de la interfaz de ruta predeterminada. ¿Hay alguna manera de usar iptables (o algo más) para rastrear la conexión y enviar la respuesta a través de la interfaz de donde proviene?
Respuesta aceptada:
echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <interface_IP> table isp2 prio 1
ip route add default via <gateway_IP> dev <interface> table isp2
Lo anterior no requiere ninguna marca de paquete con ipfilter. Funciona porque los paquetes salientes (respuesta) tendrán la dirección IP que se usó originalmente para conectarse a la segunda interfaz como dirección de origen (de) en el paquete saliente.