Using 2 ISPs at the same time, any routers!

I have another blog posting where I talk about how to use 2 ISPs at the same time and the router load balances the outbound connections.

Since then, I’ve upgraded my other Internet connection such that it’s not even worth keeping the other one. I now have one WAN link that’s over 500mbps and another that’s 20mbps. How do we load balance that? Why bother with the 20mbps? For that reason, I just unplugged it for months…

Then I thought about it and turned it back on. It was initially to be used as a backup, in case my primary goes down, which always does and comes back up again, but now, I use them both concurrently. Since I have an older router that was laying around, so it made my decision easy. If I didn’t have the extra router, I may not have gone out to buy another one.

Basically, the way I’m using it is like this:

192.168.0.1 is my primary router. It has my primary WAN link and all of my Internet traffic goes through it, with the exception of some DNS traffic.

Just a screenshot of my primary router settings. Why am I not using ASUS-Merlin? I don’t know. It didn’t support AImesh when I first set up the mesh. Merlin does now, but I keep thinking that I’ll be giving something up. Maybe I’ll do Merlin someday soon. I’ll be sure to blog about it if I do.

192.168.0.6 is my secondary router. This is where my hosts go to get Internet access if my primary goes down. Hopefully, the primary link doesn’t go down for an extended period of time. If it does, this is what I will use. I do need to manually configure my clients. Basically, just change it from automatic DHCP to manual and instead of using 192.168.0.1 as the default gateway, switch it to 192.168.0.6. I use the same DNS servers. I turn off DHCP on this router.

Very simple DD-WRT secondary router setup

DNS server – I have a separate caching DNS server that runs just to cache DNS requests. On it, I use forwarders to resolve DNS requests to avoid full recursive lookups if possible. To get to those forwarders, I put 1/2 of them through my primary ISP and 1/2 of them through the secondary.

My bind configuration options look like this:

forwarders {
    9.9.9.9;
    208.67.220.220;
    1.1.1.1;
    8.8.8.8;
    208.67.222.222;
};

My routing table looks like this:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 ens160
8.8.8.8 192.168.0.6 255.255.255.255 UGH 0 0 0 ens160
68.87.20.6 192.168.0.6 255.255.255.255 UGH 0 0 0 ens160
96.114.157.81 192.168.0.6 255.255.255.255 UGH 0 0 0 ens160
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
208.67.220.220 192.168.0.6 255.255.255.255 UGH 0 0 0 ens160

With this configuration, basically I’m just using 1 ISP for everything, with the small exception of DNS. When my primary ISP goes down, I don’t really think about DNS. Maybe I’ll check next time to see if DNS is still working. Usually when it goes down, I look at my router and see that my modem is likely rebooting.

Anyway, when I want to fail over to my 2nd ISP, I do it simply on the device like this:

When configuring manually, you’ll need to configure the DNS as well.

Hope this helps! Please leave any comments or questions below!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.