Last time I did it, I had my own ASN and spoke BGP to both ISPs
announcing my own /24 (which you can get from either ISP, or maybe
ARIN). You could go down this route, but its a fair bit of setup. And a
random Cable/DSL ISP probably won t set this up with you. This does
eliminate all the points of failure and makes the switchover completely
transparent.
You can also lower the TTLs on the DNS records to 5 minutes or so. This
won t be instant switch over, but 5 minutes may be fast enough.
Otherwise, you certainly can use the remote server in a colo, but then
of course that becomes the single point of failure. You have a couple of
choices of how to redirect the traffic:
- GRE/etc. tunnel: You run two tunnels from the colo box, one to each
connection at your office. Tunnel all relevant traffic both ways and
you wind up with a few IPs from the colo at your office. You can then
run a routing protocol (even something simple, like RIP) to make this
automatically fail over, or even use both ISPs simultaneously for
additional bandwidth. This can be implemented fairly easily on Linux
boxes or Cisco routers. I assume Juniper can to, but I ve never used
them. Failover is transparent (e.g., will not break VPN connections).
Beware of MTU issues. If your office connections do not do reverse
path filtering (or can make an exception for you), you do not have to
tunnel outgoing traffic back to the colo.
- NAT. May or may not work with whatever protocols you re running, but
you can set up 1:1 static NAT at the colo to redirect the traffic.
Easily done for common TCP protocols, and maybe your VPN too. Doable
on pretty much anything. Failover is not transparent; existing
connections will time out. Can also use both connections for
additional bandwidth on a per-connection basis. Traffic must be
tunneled back to colo.
- Obvious third answer: Move the services to the colo. Has the advantage of protecting from power outages, too.