I have inherited a network with a bunch of subnets. I have an Ubuntu box ("router1") that has the external connection and functions as a router eth1 is the external connection eth2 and eth3 connect to internal subnets (net2 and net3). Routing works: machines on an internal subnet can see machines on the other subnet when required, and external connections work as they should.
I have another Ubuntu box ("router2") with another external connection and external IP address. It's basically identical to the first one. I'd like to be able to use it as a redundant router, working the same way as the first one. It has the same eth1, eth2 and eth3 setups as the first router (with different IP addresses - router1 is n.n.1.1, x.y.2.1, x.y.3.1; router2 has n.n.1.3, x.y.2.3, x.y.3.3). Router2 works, kind of.
Machines on the net2 subnet that use router2 as gateway are unable to see (ping, ssh, http etc) machines on net3 subnet that use router1 as their gateway, and vice versa. A machine on net2 can see machine on net3 if they both have the same gateway, either router1 or router2. All machines can access the Internet, whether they have router1 or router2 as their gateway.
I suppose my first question is: is it at all possible to have two redundant routers serving the same subnet the way this is described? If this should be possible, any idea where I should look to fix this?