How to combine several "bad" Internet Connections

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

LL0rd

New Member
Feb 25, 2020
16
1
3
Hey Guys,

I need an advice. In my house I have several bad Internet Connections. My current primary connection is Starlink, but here I have "just" 100-150 MBit Down and 20 MBit up. I have a PtMP 5GHz Connection with "promissed" 50 MBit Symmetrical, but in reality just about 10-20 MBit in each direction. I have 4G with about 20MBit/s and I have fiber with 30MBit/s.

What's I can do with these connections?
I already tried a service like speedify. Sometimes it worked great for me, but most time, it didn't. First problem was, that the access to some sites was just denied, because the ISP was identified as an ISP. And when one connection was not down but had a packet loss, the connection itself was bad. I used this on a router for 3 Month, than I kicked the solution out.

I also tried OpenMPTCProuter on my router and on a machine in a data center. Here I also had problems. With OpenMPTCProuter I have one "main" connection. And if this connection is down, then everything is down. I also had problems, when any connection went down.

My current Setup is OpnSense with just Gateway Groups. But here I also have no control of the traffic flow. Like "use Starlink" for DL, and when Starlink is "full", take the next connection. I have just Round Robin and Failover.

Do you have any Idea, what I can use to get the most out of these connections? Thx!
 

Railgun

Active Member
Jul 28, 2018
148
56
28
You can weight your GWs in OpnSense. For the purposes of this discussion, let's say your 150Mb to Starlink vs 50 to your 5GHz. Weight it 3:1. You can't do it on bandwidth in that context.

Else, something like Peplink, but you need a service on the other side to use it.
 

mr44er

Active Member
Feb 22, 2020
135
43
28
My current Setup is OpnSense with just Gateway Groups.
This would be my recommendation.

But here I also have no control of the traffic flow.
That is not true. You can do fine granular PBR, policy based routing. In short: you set firewall rules on the internal interface for example port 80/TCP and 443/TCP on GW1 or GW2 or the gateway group. Read carefully the manual, there is danger that you will lock yourself out. OPNSense has a safety net-rule, but it's not universal.
But let's focus first on the correct settings in the gateway group, then the weight, then you can do PBR and as last resort you can do traffic shaping on top. If the connections are highly wobbly, then PBR and shaping won't help.

Do you have any Idea, what I can use to get the most out of these connections?
Put both gateways in tier1, trigger level: packet loss or high latency, pool options: default.

Switch to single gateway setting of Starlink/your faster line in terms of bandwidth. Activate 'upstream gateway', Choose a public monitor ip which never goes down for example 1.1.1.1 to ping and get necessary latency values for this line. Set priority 10 for example and weight 5, Probe Interval to 10 for now.

The public IPs are DNS-servers, 1.1.1.1 = cloudflare, 8.8.8.8 = google primary, 8.8.4.4. google secondary, 9.9.9.9 = quad9
You could also use the DNS from Starlink, this should give the lowest latency.
Priority is meant relative to your other gateways, gw1-prio1 gw2-prio2 is the same as gw1-prio47 gw2-prio125.
Weight is 5/5 or 100% and this means how much traffic (in and out) should be processed by this gateway. It works with 2+ gateways, if you only have one in total, it is meaningless.
Probe interval = ping interval -> send ping to 1.1.1.1 every 10 seconds via Starlink

Now switch to your second gateway. Activate 'upstream gateway'. Monitor IP, choose 9.9.9.9 (every gateway needs a different monitor IP!). Priority 20, weight 5, Probe Interval 10.

Now save and activate the changes, check the lobby and the gateway widget. After 10 seconds you should see latency values and maybe color changes. Green is good, orange = bad, red = latency too high or line is dead (or monitor IP is dead, so make sure you choose an IP which never goes down).

If you see red or orange and have no traffic running at all, go back to single settings of this gateway and go to latency thresholds. Empty means default and this is 200ms/500ms. I have no experience with starlink, googling around tells me anything between from 20-50ms is expected and good, so default should fit. If it's really bad at your location, go up in 100ms-steps, so 300/600, 400/700. Reaching 1000ms would be really, really bad and sluggish.

Now check again the gateway widget, if everything is green. At this point OPNSense will switch immediately to the other gateway, if one of the two has high/red latency.
Now surf around, start downloads, let youtube play a video or push it to the limit with fast.com and check again the widget. If everything is still green, you're golden.
If the slower line/gateway is pushed to red immediately when it gets traffic, switch its weight to 4 or 3, test again.
 

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,654
2,066
113
I have similar various connections, and I usually segment mine... like _____ for streaming TV and _____ for low-latency gaming, that only ONE person should ever be on, and then another for WiFi (phones\tablets etc). Then you end up with not needing anything fancy or configurations that are complex... it just works and is simple :D