counfused multi homed computer

I set up a openSuSE 10.3 computer with two network cards to run tests of different Internet connections. The two cards are on different subnets of two different routers. I find that the computer has only a default gateway. If I set it to router 1 connections through router 2 fail. If I set it to router 2 connections through router 1 fail. Both routers are setup to transmit RIP and I have quagga installed and both zebra and ripd running. However, I do not think the routers broadcast default route information via RIP. If I leave the default route blank then connections through either router fail. It then has no default route so it can only communicate in the local subnet.

It there no way for the computer to know to reply using the same network interface from which the request was received?

Not with static routing. The meaning of ‘gateway’ is ‘and anything you don’t know where to send goes here’.

If you know where stuff is coming from, you can set a route back to it through whichever interface you desire, but this is not necessarily the route it came via. But anything else goes back via the gateway, which means the best interface is used according to the routing table, which is quite deterministic.

Even the routing table is a bit confusing. Which routing table? Using netstat -r -n gives a much smaller routing table than quagga. The quagga table will list the same subnet on each interface. One interface shows it through a gateway. The other shows it as a direct connection. However, in my situation the other computer that is initiation the connection can select either interface but itself is on a subnet that in not in either netstat’s nor quagga’s routing table. That is where the problem exists. The multi homed computer ignores from which connection the was requested came and looks at the routing tables to figure out which interface to use to respond. What I need is something more like the large multi homed routers that handle the Internet. They seem to see from what addresses packets arrive at each interface to understand where packets should be returned.

That is exactly how TCP/IP is supposed to work

You will probably find that these use RIP and later protocols to communicate with adjacent routers to modify the routing tables dynamically. That is to say that they do NOT look at the routes by which packets arrive. You wouldn’t want this to happen anyway, if the links were unidirectional, which is quite possible.

You need to check out whether the routers involved support RIP or whatever and whether you are able to get your server involved in the RIP. I imagine that the software will be available, but this type of config is beyond the experience of most here, I would imagine