Cisco IOS bug - using two PPPOE interfaces in load balancing mode

In the hope of saving someone else's sanity...

About a year ago we bought a Cisco 1921 router with two ADSL/VDSL EHWIC cards to load balance local network traffic over the two broadband lines we have, but we couldn't get the routing to work consistently (that is, more than ten per cent of the time).

One minute everything would work fine; the next minute all (outbound) traffic would get dropped. After eight weeks of pulling my hair out (while talking to Cisco) it seems I had hit a 'documented' (but very well hidden bug) that means you cannot load balance on IOS 15 when using a dialer interface and NAT.

The long and short of it is that IOS gets confused and sends the packets to the wrong outbound interface it has just done the IP translation for. This means the ISP will (in the UK, at least) see the packet coming from what it sees as a spoofed IP address and will drop it.

Chances of getting load balancing to work with PPPoE: None (well almost none). Chances of seeing the bug fixed: Zero (apparently).

Incidentally, we were convinced to try a work around, involving buying another(!) Cisco router with load balancing on one and the EHWIC cards in the other (using PBR to route the traffic correctly). This works (kind of), but, due to PBR, maxes out at half the bandwidth of our two connections, which kind of defeats the point of having two lines.

Given it took Cisco eight weeks to find this bug in their own documentation (which happens to be hidden unless you work for the company), I thought I would try and save someone else the grief!

Hope this helps some other poor soul out there :-)

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.