Preventing asynchronous routing on multi-homed server
I've run into a hurdle I'm trying to get over, hoping someone can provide some extra insight.
Ubuntu server is multi-homed on two networks
A client on the 10.1.2.0/24 network connects to the server on its eth0 interface, 10.1.1.0/24, but the server replies back on its eth1 interface directly to the client since it is the best route path.
There is a hardware firewall between the two networks that deny's this traffic as a non-stateful connection, as it should.
How can you define a route statement that says any traffic destined for the eth0 interface, is replied back by the eth0 gateway, rather than directly to the client by the eth1 interface.
The challenge is there are also cases where the client needs to be able to reach the server by it's eth1 interface, where it should be replied to directly from its eth1 interface. Provided that, a default route to the eth0 gateway will not work as it causes a asynchronous routing condition in the opposite direction when the client connects to the eth1 interface.
Any help would be greatly appreciated. I'm hoping this is much more simple than it has been made out to be on this end.