A gateway machine broadcasts an arp request for A.B.C.x. Out of these 2 routers, A.B.C.d and A.B.C.e, using the gateway how does the gateway know that A.B.C.x is actually behind A.B.C.e?
Does it look in the router’s routing tables? At the DNAT / PREROUTING table (using a stub network)?
The reason I ask is I have 2 routers using the same gateway, both forward packets fine. But if I forward a packet from A.B.C.x through A.B.C.e it will not come back because the gateway the routers use does not know where to look for A.B.C.x on the return route. It will broadcast a ton of arp requests for A.B.C.x, but never find it.