Let me try to explain my situation. I have a load balancer server, which balances traffic over a set of pre-defined SMTP servers.
Host A (the client) connects to Balancer B which sends the request to Cluster-Node C. Since Balancer B uses IP masquarading, it looks to Cluster-Node C as if the request came directly from Host A, so it sends its replies to Host A.
Host A -> Balancer B: clients makes a request on port 25 to the load balancer
Balancer B -> Cluster-Node C: load balancer connects the client to the actual node
Cluster-Node C -> Host A: the node connects back, directly to the client
The answer of Cluster-Node C should actually go back to Balancer B, instead of Host A.
Here's the tricky part: all servers reside on the same subnet. If I change the Cluster-Nodes to a new subnet, I can give them the gateway of Balancer B, and it would work, as requests are sent over the gateway.
Host A: 10.0.0.10 Balancer B: 10.0.0.20 Cluster-Node C: 10.0.0.30
Is there a way to force all outgoing connections on Cluster-Node C (10.0.0.30) to be sent to Balancer B (10.0.0.20), no matter what the originating (in this case, masquarated) IP was?