I thought I knew all I would ever need to know about IP routing, but I was wrong.

I am in the process of migrating from one DSL supplier to another. So at the moment I have two DSL connections, one with 16 IP addresses and the other with 32. I have two routers, one connected to each DSL line.

I host my own domains (www, dns, mx, smtp) and a few for other people. All my domains are currently using my servers that are hanging off of ISP1. They will eventually all move over to ISP2, but I had planned that to be a gradual process.

I am finding however that my understanding of IP routing, where you have dual homed servers is probably too naive.

I had thought that if I had a server with two IP addresses, one with ISP1 and the other with ISP2 that I could give it two different names via dns and then access it via those two different names. So it would have two names, say www-isp2.norman.cx and www-isp2.norman.cx which would both work.

It looks like I was wrong and I think I understand why. I think it comes down to the fact that a IP host can only have one default gateway.

Assuming the default gateway is via ISP2, if a request is sent to www-isp2.norman.cx then it gets sucessfully routed all the way to the server via ISP2. However when the server replies it has no way of knowing which route the request took so it just sends the reply back via ISP1 which then gets dropped by a filter somewhere along the line.

Is my understanding correct ?

Is there anything easy I can do about it ? The servers in question are a mixture of Win2k and Linux boxes.

I'm guessing that I could probably solve it using a NAT setup of some sort ? I'm guessing I would need 1-to-1 NAT, which my routers don't do (I suppose I could use the Linux box to do it).

Maybe I should just take the plunge and switch to ISP2 in one go. However I am planning to end up with two DSL connections long term (with a cheap line from ISP3) so it would be good to get a solution to dual homed servers anyway.
_________________________
Remind me to change my signature to something more interesting someday