WAN Bonding with ROOter and OpenMPTCProuter

How To Tutorials related to Routers and Firmware
tlkelley
Posts: 3
Joined: Thu Aug 27, 2020 9:08 am
Has thanked: 0
Been thanked: 0

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by tlkelley » Sun Aug 30, 2020 5:30 pm

Are you guys suggeting that MikroTik RBM33G be openmptcrouter? I ask as that was what I thought and I do not see a download image for it?

RussWestrem
Posts: 19
Joined: Sun Apr 08, 2018 9:00 pm
Has thanked: 0
Been thanked: 2 times

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by RussWestrem » Wed Sep 02, 2020 5:10 pm

You can compile the firmware and see.

User avatar
bnhf2
Posts: 40
Joined: Sun Aug 05, 2018 10:03 am
Has thanked: 0
Been thanked: 24 times

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by bnhf2 » Wed Sep 02, 2020 9:16 pm

tlkelley wrote:
Sun Aug 30, 2020 5:30 pm
Are you guys suggeting that MikroTik RBM33G be openmptcrouter? I ask as that was what I thought and I do not see a download image for it?
We're not suggesting that -- and it's not powerful enough. Everything we've been talking about related to the RBM33G, is for downstream routers -- on the WAN side of an OpenMPTCProuter device. An RBM33G running ROOter makes an excellent gateway, to combine with other gateways, and then aggregated into a single high-speed link with OMR.

Choose one of the few supported consumer routers with enough processing power to do OMR right, use a Raspberry Pi, or an industrial PC (those spec'd for pfSense are a good choice).

RussWestrem
Posts: 19
Joined: Sun Apr 08, 2018 9:00 pm
Has thanked: 0
Been thanked: 2 times

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by RussWestrem » Wed Sep 09, 2020 10:26 am

bnhf2 wrote:
Tue Apr 14, 2020 5:25 pm
Here's another post I did earlier this year on the ROOter forum, which is now a bit difficult to find. I did this post in late January, and I've since moved from the Raspberry Pi 4B to a Qotom x86 (i3) industrial PC with 4x gigabit Ethernet ports, 2x USB3 and 2x USB2 ports. OpenMPTCProuter needs an Internet appliance with some horsepower, but it has proved amazing for true WAN bonding -- there's little else like it! With my low end VPS (1vCore, 1GB RAM, 25GB vSSD), I'm frequently topping out at about 235Mbps on the D/L. I'll bring a 2vCore VPS online sometime soon.

I'm happy to say after a number of failed attempts at getting WAN bonding working properly — I've finally got it functioning the way I want. Like many other projects, it's easy to get off track without a little guidance, and OpenMPTCProuter is a bit thin on tutorials. Here's how I did it, just in case there are others that have WAN bonding on their "to do" list.

OpenMPTCProuter can be found here:

https://www.openmptcprouter.com/

Download whatever version will work with that extra bit of kit you have laying around and get it up-and-running. It's OpenWRT based, so this should be familiar territory for everyone here. I used a Raspberry Pi 4 with 4GB of RAM:

https://www.openmptcprouter.com/download

ext4 images are preferred over squashfs, when both are offered.

Before you start configuring your OpenMPTCProuter device, you'll want to get your VPS (Virtual Private Server) running, as WAN bonding always depends on having a server on the other end with a very high speed Internet connection. You can bond up to 8 connections according to the developer, and those need to be reconstituted into a single connection (with a public IP!) on the server end.

The developer has written scripts for specific versions of Debian and Ubuntu, so be sure to use a supported Linux when you setup your VPS. I'm using a Vultr Cloud Computer VPS with 1GB of RAM, a 25GB SSD and a single CPU core. For Linux, I went with Debian 10 x64 for US$5/mo. For that half a sawbuck, you get your very own virtual server and public IP address:

https://www.vultr.com/

Once your server is running, you can SSH (PuTTY works great for Windows users) into it and execute the script as shown in the wiki:

https://github.com/Ysurac/openmptcprout ... te-the-VPS

Once the script is done running be sure to grab /root/openmptcprouter_config.txt as this contains keys and other useful information you'll need when setting up your WAN bonding router. WinSCP is perfect for connecting to your virtual server (before you reboot it!) to grab the file (use SCP protocol just like with ROOter). You can also keep a copy of the PuTTY output from running the script, as the information you need is at the end of the script execution too. Note that the script changes your SSH port to 65222.

Now that your VPS is online, it's time to get your router configured. OpenMPTCProuter uses 192.168.100.1 as an IP address. Set your default admin password just like in ROOter and then proceed to Network – Interfaces to setup WAN1 and WAN2. In my case, I already have both of my cellular WAN devices on a single Ethernet network, each using its own VLAN ID, as part of the "network of gateways" approach I've posted about previously.

https://github.com/Ysurac/openmptcprout ... er-install

I won't cover the specifics of that again here other than to say one of my WAN routers is on VLAN3 with an IP address of 192.168.3.1 and the other is on VLAN4 with an IP address of 192.168.4.1. So when setting up WAN1 and WAN2 in OpenMPTCProuter I used physical "custom interface(s)" of eth1.3 and eth1.4 with static addresses of 192.168.3.30 and 192.168.4.40 respectively. My LAN is on eth0.

https://github.com/Ysurac/openmptcprout ... figuration

After that navigate to System – OpenMPTCProuter – Settings Wizard and enter the IP address of your VPS server, along with "server key" (which auto-loads all the other keys you'll need). From there double-check that WAN1 and WAN2 have the appropriate IP addresses for your downstream ROOter routers. If these routers are on a common switch like mine you'll want to either use VLANs or OpenMPTCP router also supports something called "macvlan" which should do the same thing. If the various WAN routers that you'd like to bond are all physically separate (individual Ethernet or USB cables to your WAN bonding device, then no VLAN or macvlan is needed).

After that go to System – OpenMPTCProuter – Status, and you should see a webpage that looks something like this (drum roll please):

screenshot-192.168.100.1-2020.01.png

If not, the first thing to try is to reboot your WAN bonding router, as there are a number of moving parts here including a VPN.

In my case I'm bonding a Sprint connection using one of my bnhf outdoor directional ROOter setups (RBM33G routerboard, em7565 modem and a pair of directional weBoost wide band antennas cross-polarized) which has been typically giving me about 120Mbps down and 10Mbps up, and an AT&T outdoor omni-directional ROOter setup (RBM33G routerboard, em7565 modem and a pair of weBoost 4G-OTR omni-directional antennas) which has typically been giving me about 40Mbps down and about the same up. The results of the new, bonded, VPN protected connection, complete with a public IP (and port forwarding) are exactly what I had hoped for, with the bonded connection giving me Speedtest.net results of 165Mbps down and 45Mbps up:

screenshot-www.speedtest.net-2020.01.png

In the next week or so, I'll add another cellular provider (Verizon) and a 50Mbps+ hardwire connection I have available at the moment, to see how additional WAN bonding scales on the RPi4.

I'm curious why you use one modem per router on your gateway of modems. I just put all my modems on a single router (cba850) that lives outside and setup multiple gateways attached to wans on each of their own vlans and bring that into the house to my openmptcp router on a single cat 5e cable.

tbenz
Posts: 7
Joined: Mon Jan 20, 2020 5:43 am
Has thanked: 3 times
Been thanked: 0

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by tbenz » Wed Sep 16, 2020 10:18 am

This is fantastic! Thank you!

I got it going despite some head scratching moments-- I have a static IP on one WAN line (required setting OpenMPTCP to DHCP on that interface) and the physical ports on the Qotom device don't align with the logical ports in the software.

It works great now but before I integrate it into my network I thought I would ask those much smarter than myself:

Is it possible to leave my existing router in place and install the OpnMPTCP router in a (pseudo) bridge mode to the WAN of my Asus (with Merlin) router? Since I need to attach the Asus anyway for wifi/mesh, I would like to keep it handling all the NAT/routing functions and have the MPTCP router be the gateway and handle just the WAN bonding and delivery. Not sure if this is possible due to the "magic" that's happening. Pretty sure I could just disable DHCP on the MPTCP router LAN and assign the appropriate IP's to my existing router but then I suspect I would be having NAT issues. Could I set my existing router in a DMZ on the MPTCP router? Again - not sure how this would interact with the MPTCP magic. Is there a best way to do this or should I buck up and set up the MPTCP router as my main router and relegate my Asus as an access point


My primary objectives/uses:
-Ability to adjust ttl (currently done in my Asus router). I'm not sure of the effectiveness of ttl adjustments being that everything will now be run through the MPTCP VPN. Will this particular VPN affect ttl? Is there a way to be able to present the ttl that the provider is expecting when running this system?

-Ability to access my network externally through a static IP. This is currently done via my static IP on one of my WANs. I will now have another public IP I can work with via the VPS on Vultr.

-Streaming and general internet access. No gaming

Appreciate all the thoughts and advice!

RussWestrem
Posts: 19
Joined: Sun Apr 08, 2018 9:00 pm
Has thanked: 0
Been thanked: 2 times

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by RussWestrem » Wed Sep 16, 2020 12:14 pm

tbenz wrote:
Wed Sep 16, 2020 10:18 am
This is fantastic! Thank you!

I got it going despite some head scratching moments-- I have a static IP on one WAN line (required setting OpenMPTCP to DHCP on that interface) and the physical ports on the Qotom device don't align with the logical ports in the software.

It works great now but before I integrate it into my network I thought I would ask those much smarter than myself:

Is it possible to leave my existing router in place and install the OpnMPTCP router in a (pseudo) bridge mode to the WAN of my Asus (with Merlin) router? Since I need to attach the Asus anyway for wifi/mesh, I would like to keep it handling all the NAT/routing functions and have the MPTCP router be the gateway and handle just the WAN bonding and delivery. Not sure if this is possible due to the "magic" that's happening. Pretty sure I could just disable DHCP on the MPTCP router LAN and assign the appropriate IP's to my existing router but then I suspect I would be having NAT issues. Could I set my existing router in a DMZ on the MPTCP router? Again - not sure how this would interact with the MPTCP magic. Is there a best way to do this or should I buck up and set up the MPTCP router as my main router and relegate my Asus as an access point


My primary objectives/uses:
-Ability to adjust ttl (currently done in my Asus router). I'm not sure of the effectiveness of ttl adjustments being that everything will now be run through the MPTCP VPN. Will this particular VPN affect ttl? Is there a way to be able to present the ttl that the provider is expecting when running this system?

-Ability to access my network externally through a static IP. This is currently done via my static IP on one of my WANs. I will now have another public IP I can work with via the VPS on Vultr.

-Streaming and general internet access. No gaming

Appreciate all the thoughts and advice!


This might help you. This example is for pfsense but it should be the same.

https://github.com/Ysurac/openmptcprouter/wiki/pfSense

tbenz
Posts: 7
Joined: Mon Jan 20, 2020 5:43 am
Has thanked: 3 times
Been thanked: 0

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by tbenz » Wed Sep 16, 2020 2:43 pm

Thank you.
I'll see what I can do with that

tbenz
Posts: 7
Joined: Mon Jan 20, 2020 5:43 am
Has thanked: 3 times
Been thanked: 0

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by tbenz » Wed Sep 16, 2020 7:26 pm

I've integrated the OpenMPTCP router(OMR)device into my network and have an anomaly. I set up the OMR as a gateway to my existing router (Asus) as I want to keep the routing/NAT functions on my Asus - OMR LAN port to Asus WAN port

-I disabled DHCP on the OMR by selecting the "Ignore interface" checkbox in the LAN interface settings tab
-kept the default IP on the OMR - 192.168.100.1
-set a static IP in the WAN settings in my Asus: WAN IP 192.168.100.2 Gateway: 192.168.100.1

In the OMR status tab I get this:

OMR ovrvw.png
OMR ovrvw.png (65.06 KiB) Viewed 481 times
When I was setting this up, prior to attaching it to my Asus (I was dirctly connected to the OMR with my PC), and DHCP on the OMR LAN was enabled, I got the green checkmark and had internet access. When I disabled DHCP and set a static IP on my PC, I got the error message that's shown in the above pic - and no internet. But now, with the OMR connected to my Asus, with the same error message showing up, I have internet! (I'm connected to my Asus wifi with my PC). Is there something else that I need to do in addition to just disabling DHCP in the LAN interface to get the Asus IP leased by the OMR - and subsequently the green checkmark?
Thanks!

BTW- thanks for the link RussWestrem. Port forwarding is working great following those instructions.

Yipzy
Posts: 212
Joined: Wed Jan 30, 2019 2:06 am
Has thanked: 7 times
Been thanked: 77 times

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by Yipzy » Thu Sep 17, 2020 7:14 pm

Ignore the message. It's fine because you are manually setting the IP for your router instead of having OMR dishing out. You could also set TTL in the firewall's custom rules just like you would before in other LTE routers with OpenWRT. You just need to reference the correct interface for each rule.

tbenz
Posts: 7
Joined: Mon Jan 20, 2020 5:43 am
Has thanked: 3 times
Been thanked: 0

Re: WAN Bonding with ROOter and OpenMPTCProuter

Post by tbenz » Thu Sep 17, 2020 7:28 pm

Thank you Yipzy!

Post Reply