Does NAT + real bonding work ?



  • I've got two PPPOE based 20mb VDSL lines. Until now they've been from two different ISPs, so I've just been using the standard connection based load balancing between the two lines.

    I need true bonding though, to get more than 20mb on a single connection. So I've moved both lines onto an ISP that supports true bonding.

    The ISP give me a block of IP addresses and the lines are already setup to route those IP addresses down both lines.

    However, I need to use NAT, the block of IP addresses isn't large enough for my internal network.

    With pfSense work using NAT, sending/receiving data down two lines ?

    I'm beginning to think that the answer is probably no, it looks like NAT rules are defined on a per interface basis. So I'm guessing that data requested via interface 1, if it arrives on interface 2 is not going to get de-NATted correctly ?



  • Well I tried it out, to see what would happen.

    Exactly what I expected to happen happened. In that it sort of worked, I saw some >20mb results on some speed test pages, briefly.

    But TCP was clearly very broken, presumably due to NATted traffic appearing on the wrong interface.

    Is it possible to make NAT work with true bonding on pfSense ? Or am I going to have to abandon pfSense and move to a Linux router/firewall (probably dd-wrt running on x86) ?

    It would be a shame to have to move, I've really come to like pfSense.


  • Banned

    If that ISP really supports bonding of two PPPoE connections: https://en.wikipedia.org/wiki/Point-to-Point_Protocol#Multilink_PPP and yes pfSense can do it: https://doc.pfsense.org/index.php/Multi-Link_PPP_(MP/MLPPP) so RTFM again.



  • The ISP (AAISP in the UK) really do support bonding the two PPPOE connections at the IP packet level. They explicitly don't however support MLPPP, so that isn't an option I'm afraid.

    My lines are already setup so that bonding works at the ISP end, I've already tested that they route packets to my IP block down both lines. It is my end that I need to get working, I had hoped pfSense could do what I needed (I think it could, if I didn't need to use NAT).

    https://support.aa.net.uk/Bonding_Information

    I'm sure I could hack together a two box solution, handing the NAT off to another router. But I really don't want to add yet another box (on top of one router and two PPPOE modems), so sadly if pfSense can't do per packet bonding and NAT then I'll have to switch to Linux that I know can do it.



  • I don't suppose something like LAGG is an option to combine the two PPPOE interfaces and then NATting on top of that ?

    Looks like probably not, the PPPOE interfaces don't appear as options to add to a LAGG interface.


  • LAYER 8 Global Moderator

    Lagg would not be an option either way because lagg is just 1 and 1, it does not = 2..  Its not going to send packet A down 1 and then packet B of the same stream down path 2..



  • Ok, thanks.

    Time to see how well dd-wrt runs on my x86 box that currently runs pfSense :(



  • Are you sure they are not talking about bonding using your modem to bond the circuits?    Centurylink does that here in the states.  We have a circuit at one of our locations using a Technicolor C2000 bonding circuits in front of our pfsense router there..

    Funny though-  Seemed like everyone in Canada could get an MLPPP circuit while we had to beg for ISP's here to do it.. Usually they would not.



  • No, definitely not bonded with the modems. At their end they have proprietary routers that just send IP packets down both lines, balancing them based on the sync speed of the lines.

    They will happily sell you a similar router, to connect to two VDSL/PPPOE modems. I'm just trying to avoid spending the $700 they ask for their router (and I'd have rather have used pfSense if it was an option).

    They are a very unusual ISP ;)

    You can actually achieve much of what I want with three basic consumer routers. Use two with their own VDSL ports to route from the lines (both using the same WAN address), with a third router behind them doing the firewalling and NAT (with one of the other routers set as its default gateway). That doesn't get you upstream bonding though.

    Anyway, thanks for your input, clearly pfSense can't meet my admittedly unusual requirements and it is time to try another route (dd-wrt if I can, if not my own Ubuntu build, failing that $700 router from ISP).


Log in to reply