Please visit my channel page: czcams.com/channels/G5Ph9Mm6UEQLJJ-kGIC2AQ.html Want to talk to me? Join my Discord Server: discord.com/invite/DXnfBUG CALL TO ACTION - please comment on how you want to move on with this series - see my suggestions in the last 2 minutes of the video. This solution is heavily inspired by serverfault.com/questions/977589/how-to-bond-two-multiple-internet-connections-for-increased-speed-and-failover
Nice video! If i use this on my Raspberrypi, does it need to be the "router" of my home network so that other devices can benefit from this connection? I'd be quite interested in the wireguard option since i am already running some wireguard connections to a VPS.
Hi Marc! Your tutorial is a great rescue for me.... I came accross your internet bonding tutorial after going though a lot of hoax and fake tutorials on youtube. I live in a village in India where we have no broadband or high speed internet connectivity... but only slow speed connections over mobile broadband which hardly goes up tp 1 MBPS. I saw your tutorial was unique and gave it a try and ..... I finally could bond 3 mobile internet connections using a VPS based in Mumbai, in India..after a series of failed attempts... I was surprised to see the internet speed shoot up to 24 MBPS on Raspberry pi which I never expected..... the speed is even more than what I received when I used speedify whose nearest VPN is based in Singapore. Thanks a lot....!!!!!!!!!! Your tutorial is a saviour for me. I have successfully forwarded the bonded connection over ethernet port of Rpi and able to use it on windows and mac....I'd like to try more of your tutorials. .... My heartfelt gratitude for these genuine tutorials.... they're awesome....
Hi brother I wishva from Sri lanka. Next to your country I also having the same problem in sri lanka. I thought I could do this as the video. If you don't mind can I get your help?
Hi Marc! I'm quite late to this video, but as a non-techy, this is the exact solution that I (and many others) are looking for! There's a huge market out there for livestreamers that need a mobile bonding solution. Most companies that offer something like that charge up to $2000 for a solution, but after watching your video, it seems absolutely doable with some time and a raspberry pi. If you are still taking requests, I would love to see you create option 4 (custom build) that can bond multiple mobile connections into a portable bonding solution! Thank you so much for this great video and looking forward to seeing what you come up with!
Hey many thanks for your kind feedback! Actually we will have a look at MPTCP and OpenMPTCPRouter in one of the next episodes which hase much better scalability!
@@OneMarcFifty Thank you so much Marc! I'm looking forward to seeing what you have in store for us! Actually, I tried to create my own portable bonder with a Pi3 and OpenMPTCP, but there was such little documentation out there (written for non-techies) that I ended up giving up. I hope that your video explains the set up process in a less daunting manner! Thank you again Marc!
@@supersecretcreatorsclub1634 hi guys. I watched this video for the same reason. I want to start a small live-streaming business and I need a more robust and portable solution for streaming. I’ve also got a couple of raspberry pies and I have basic familiarity with Linux. I didn’t find any video with mptcp on this channel. Did I miss something?
im newer to linux and love that you explain things on your video rather then saying do it like so and just expect that everyone understands what your talking about. Thank You
Hi Jeff, many thanks for your friendly feedback.I love to explain stuff because I think it is an indicator that I have kind of understood it myself - in other words : As long as I can't explain the thing then I need to go back to the lab because presumably I have not yet fully understood it ;-)
Hi Joe - thanks for subscribing ;-) yes - when I started the channel I wanted to be reachable in the sense that everyone could interact with me - I do video sessions on Discord every Sunday as well - which means that you can even talk to/with me live ;-) Maybe see you there ;-)
I'd love to hear this continue in the openWRT realm, for its broad hardwares support, from home router, to Raspberry Pi, and even x86. I have a tragic life being a networking geek living less than a kilometer away from big ISP's distribution station, but my area is just out of their wired internet coverage. So I keep my 2 x 1.5 Mbps LTE connections.
Ah - that‘s really mean! Living next to the node and not getting in! It‘s been like this at my place for years as well- all the neighbors enjoyed high speed internet and I was on a slow line - I feel your pain 😉
This is awesome! I could see a lot of practical uses for such tech, so definitely keep working on it if you can! A twist on this that I think would be really good would be a configuration that allows multipath transmission, to try and get a reliable connection if one of the connections isn't very stable (without incurring much packet loss).
My use case for it is just to connect my private NAS / VPS server locally to my main machine over two links directly between the two systems. I had an idea of how it as done and knew it required VPN bonding as normal link aggregation is not enouph. I do thank you for the video and will review the scripts. I am not sure of exactly what commands to issue to setup openvpn in this way, however I should be able to setup multiple instances of open vpn on VPS server.
Thanks for your video Marc. I've been interested and involved in commercial internet bonding and networking solutions for years and have deployed various solutions for enterprise clients using technology from Viprinet and Mushroom Networks. I was looking at Speedify for home office broadband bonding, but being a network engineer and IT generalist myself, the idea of a linux based solution caught my interest. Given the speed improvements of Wireguard over OpenVPN, I'd definitely recommend looking at that as there's less packet overhead an demonstrable bandwidth improvements. If the TUN interfaces can support this then it could definitely work. Admittedly I haven't looked at your Git repo yet, but plan to shortly. The problems with using Raspberry Pi's is of course the number of NICs and even a Pi4 with a USB ethernet adapter or multiple LTE/WiFi dongles, it's not overly graceful. I was looking at using a (refurbished) HP T730 Thin Client for this sort of thing personally with a half-height quad port NIC. These are often used for pfsense/opnsense and could work nicely with this. Have you looked at using a VPS from providers like DigitalOcean or Upcloud as that's potentially the route I'd take for this?
Hi Chris, awesome feedback, many thanks. As far as my investigations go for the moment it will be difficult to bond wireguard interfaces directly, I am currently examining the possibility to use some sort of tunel with weak encryption, maybe over a tun VPN. I agree, Raspberry Pis are not necessarily the easiest to play with, given the Ethernet limitations. One could easily overcome the number of NICs by adding a managed swith and enabling VLANs, i.e. "map" the VLANs out to the physical ports on a switch. But then if you count the price for the Pi plus the switch plus the dongles you will have to spend 200+ USD for an OK solution. I need to test performance on a mid range easy to purchase ready made router like the Archer C7 - of course a thin client PC would probably be easiest. I have also looked at Virtualization options such as virtualbox (i.e. run the router in a VM) - maybe I'll do some distinct videos on each subject ( we are approaching the 1000 subscribers milestone, so I want to make something special anyhow). I haven't had a look at the providers you mention but will do.
USB 3.0 1000mbit nics are pretty cheap. You can buy two, hook it up to raspberry pi and get three ethernet connections if that works. The problem is, usb ports and ethernet port share bandwith in raspberry. In theory with 3 nics in total you should be allright. And 4 nics would be the limit. ------- I am searching bandwith bonding to increase my truenas server's remote connection capability. In Turkey download speeds are ok. 100mbit/s. But upload speeds are 5mbit/s. With paying extra, it increases to 10mbit/s. To work with a disk server remotely, 10mbit is pretty slow. So I will try to combine two 10mbit upload speeds if possible.
most probably my message isn't actual for today however option 3 is most valuable for me .. Unfortunately hasn't seen your channel before however found it powerful and valuable ... will keep my eyes on further content!
This is really interesting. With either wireguard or OpenVPN. Wireguard is supposed to be much faster and newer however OpenVPN still has more support and is able to handle user authentication.
I got so excited when I stumbled upon this video. For the same reason, I wanted to set up something like this for my parents. I am a technical guy with 25+ plus on the software side but never had a chance to explorer networking. I spend my few weekends trying to test and configure my Raspberry Pi 4 with two WAN connections (two mobile phones, ATT and Verizon in USA, connected through USB port) and an aws ec2 instance as a VPN server. Bottomline - simply, it doesn't give you the expected result. Technically VPN over the bonded interface works as suggested by you, but it does not increase the speed. Here is my configuration: Location - Bay Area, USA WAN 1 - ATT cell giving me 60+ Mbps WAN 2 - Verizon cell giving me 60+ Mbps VPN Server - Amazon EC2 instance with 8 core and 12gb RAM hosted in N.California region. Ubuntu Server. VPN Client (No encryption) - Rasberry Pi 4B with WAN1 and WAN2 connected through USB tethering. It's located very close to VPN server and getting 120+ Mbps without over my DSL connection. Moment of truth - with VPN over bonded interface, my speed dropped to around 40 Mbps. Well - I was expecting 60 + 60 = 120Mbps. Actually, I turned on monitoring on both USB interface and VPN Server tap interfaces - to my surprise, they are sending and receiving traffic, but the speed drops instead of combining. Speed Over simple VPN with encryption - I am getting 60+ Mbps, so it's not the speed between two VPN endpoints or the cell network. Theoretically, I still believe in this solution, but just didn't work in my environment. On the hindside, I learned a lot about networking. I am offering anyone who can help me to build a reliable solution that I can use to see my parents every day. Thanks a lot for sharing this video!! Script I was using to troubleshoot. !/bin/bash echo "-------------------------START---openvpn---------------------------------------" systemctl list-unit-files | grep -i openvpn echo "-------------------------------------------------------------------" systemctl --type=service | grep -i openvpn echo "-------------------------------------------------------------------" ps -ef | grep -i openvpn echo "-------------------------Networkd Interface------------------------------------------" ip -br addr echo "-------------------------------------------------------------------" ip -br link echo "-------------------------------------------------------------------" OUR_OWN_IP=`sudo -u nobody curl -s ipinfo.io/ip` OUR_OWN_IP2=$(grep -m 1 -oE '^[0-9]{1,3}(\.[0-9]{1,3}){3}$'
Hi Vimal, many thanks - you might want to check out my github - I have made a couple of bugfixes there - turned out there were a couple of issues related to timing etc.
@@OneMarcFifty Thanks for your reply. I will give this a try on more time. I have some ideas and questions if you don't mind connecting with me at LinkedIn - www.linkedin.com/in/vimkumar/
Потрясающая находка! Как тяжело найти такого профиля канал на "youtube" ((((( - приятный человек; - отличная дикция; - подробное обьяснение - каждого шага или действия, даже новичок - когда будет это всё реализовывать у себя на "PC" не увидит - ERROR -WORNING -AAAAA Mother help .... а если даже появится какая - либо ошибка, то в инструкции к видео - будет описано, как решить проблему!! 100\100 Спасибо за старание и качественный материал! После первых минут, просмотра ролика - лайк/ -подписка/ -колокол ! Весь вечер смотрю ваше видео)))) Ещё раз, Спасибо!
Thanks for sharing and explaining. Definitely what I am looking for but my technical knowledge to implement under a fairly tight budget and strict timeline might be a shortfall for my immediate needs. I've subscribed for more vids and looking forward to trying this in the next few weeks. Will provide feedback
Great video. Thanks for explaining it in detail along with ready to install scripts. I was able to set it up on my pi4 and get going. However, couldn't achieve the desired results as there is lot of latency. It would have been great if there was an uninstall script so that we can revert all changes if not needed.
Hi Marc, late to find this out but it is a great tip and trick. I am already implementing it. My next suggestion instead would be to how to enable port forward on the vps so that certain ports can be forwarded to the home device. I am sure it is a matter of few commands but just mentioning. Then I feel this will become a “cloud home router” solution.
This is something I need. I have two LTE G4 wireless connections in our small rural town - both "unlimited data", but one uses traffic management so it slows down at peak times (which is pretty much any time of the day or night - I actually think the provider has oversubscribed the service). Anyway, I've tried a Unifi EdgerouterX which supports channel bonding, but the engineers tell me it won't work unless I'm dealing with two connections from the same ISP. I've also tried Speedify but after seeing under the hood how it works, I'm not particularly impressed. I'd rather build a system using Raspberry Pi or OpenWRT, or even hosted VPS. Doesn't really matter how, it just needs to increase my speed.
Hi Richard - this solution needs two similar lines really. What you get is twice the speed of the slowest line. Alternatively you might want to check out OpenMPTCPRouter for this.
I'd love to see a video of this working on openwrt as I'd like to follow this route for my internet connection, I like your explanations too, they are detailed and entertain the viewer.
Thanks a lot for your gentle feedback- I am working on the OpenWrt part - but it is going to take another I‘d say 4 weeks before we can see anything usable 😉
Ah...my bad...I am checking it atm... Thanks... Hopefully I find a solution for windows also (hardware would be ideal)... Providers charge way to much for bonding services
This was awesome, please definitely do a follow-up explaining if software defined adapters can be bonded I have a totally different problem, i have a super high speed connection 100MB. However, when i use OpenVPN i get 8MBs down and 35 MBS up
Hi Harri, this can have multiple causes. Typically even if you have 100 or 1000 Mbps at home that says nothig about the effective speed between your place and the VPN server as the packets need to go through various bottle necks. In order to figure this out, you might launch iperf over ssh on your vserver and measure the speed. Are you using your own vps server or are you paying a service for this ?
@@OneMarcFifty One question I would ask Harri is if they have AES-NI enabled processor (I only use Intel. AMD might have similar) on the machine that runs OpenVPN.
Good work, I worked on an open-source wifi project several years ago and had built it off RasperberryPi with a solar charger and USB battery bank. The concept was to provide wifi security awareness with a 4g card and phishing wifi, this was before EvilIP scripts. That being said I've wanted to revisit it again as I had started building a spider box to combine multiple wifi connections into one but at that time OpenVPN bonding was not working, I'm very impressed with your progress. I would be interested in seeing your custom build, based on OpenWRT or Ubuntu or Pi. These all are offered in ARM/x86 versions so I would think it doesn't really matter. To make it reliable or usable in rural areas resiliency would have to be built it, in many environments cell signals are very very poor and drop constantly but bonding with self-healing would provide a viable solution. I'll reach out to you on Reddit and we can go into more details.
Thank you very much for your nice feedback! Let‘s give everyone else a chance to comment/vote for 2-3 weeks and see where we will take it from here. I find the idea of a mobile self-healing device quite charming 😉
Another awesome vid, both technically and very clear presentation - thanks I vote for (2) Wireguard, and (3) OpenWRT with Wireguard (because a lot of router hardware is very slow with OpenVPN due to weak single-core performance) Also, (5) some Resiliency may be a good idea, especially for rural locations with elderly parents haha Even a couple of lines of pinging to make sure a tunnel is still up with sane latency would be a help My thoughts ~against~ a specific hardware project - this takes up your time as you mix/match/troubleshoot the hardware over and above the coding. Personally I'd rather go generic, specifically on OpenWRT client routers as my prefence, though Debian at both ends is fine, it just requires more costly hardware (than OpenWRT on ex-CPE hardware for example) It MAY however be goood for your channel to offer a simple Raspberry Pi project version, at least in simple form, because it is a popular platform especially for beginners. OpenWRT geeks are geeks already, but Raspberry Pi users tend to actively search out projects and solutions for fun. I've found it's very easy to get bogged down with battery backup/UPS issues when in many cases if you lose power, you just do something else until it comes back on, especially if it's just a family chat :) I also prefer a spare duplicate microSD card - just a simple dd - to a UPS for Raspberry Pis in case of power failure. Finally, to help limit bandwith using simple non-tech measures in video calling, we've found the following can work well :- Always start with a voice call to explain what to do -and arrange to hang up video and go back to voice call if it's not viable. + Discuss who will make the decision to hang up and redial if so (best for the techie to do it) Make sure both ends place their fones on a stable table and don't use them handheld (less camera movement, compression is easier + less glitchy) Have a simple evenly-illuminated background, like a plain white wall, at both ends Don't sit too close to the fone, so the head and body doesn't fill the screen (you move as you speak, but the wall doesn't, so less bandwidth) Use earphones at both ends to prevent audio echo problems (very confusing for elderly people and also, it's extra packets in each direction) Upstairs - you want good signal if using mobile data Try to have a nice quiet evironment with no movement - avoid stitting with your back to a main road or television or busy bar ! Set quality to minimum if this is an option, or maybe try dim lighting (yes - really!) which can sometimes force lower camera resolution on some phones.
Hi Gord, many thanks for your thorough feed-back. I do agree, there are a couple of simple things that can be done in order to make this concept usable for the broader audience, such as adding stuff to ip up/down scripts, check latency and possibly fall back/forth automatically. Many thanks for your tips w/r to increasing video call quality - might be worth a video on its own ;-)
Why do you need to use encryption at all? Why not just do this over a simple GRE tunnel? Encrypting something like 2x50mbit connections would be very heavy for your average OpenWRT router.
It might be worth taking a look at mikrotik. they offer cloudhosted routers (I have a few running at hetzer vps myself). and the hardware routers, start at 30€. it can do bonding, openvpn, wireguard (in 7.0 beta4), and everything firewall, NAT, mangle roules you can imagine. And I think it's a great management app. Thank you for the great video, it gave new impulses for new Ideas :) Forget what I said, I just saw your OpenMPTCP router video. ^^
Hey, many thanks for your feedback - actually, yes - OpenMPTCPRouter is one solution, nevertheless - I have bought one of the Mikrotik Routerboards and I am actually very pleased with the completeness of their Software. However, where things become tricky is when you need to troubleshoot or use additional software - this is where an open system running linux just eats them all - My plan with that Routerboard (plus I bought a Bananapi R64) is actually to build my own 4G Auto-Failover-Router ;-) Stay tuned ;-)
Very Helpful.Subscribed. I will start working with Raspberry Pi device from today to make a portable high speed internet device. I will need your support. Thanks for this very infomative and easily understandable video.
Awesome - many thanks for subscribing and many thanks for your comment. Let me know how it goes - maybe we can see how it goes on discord ? I have just started my new server. discord.com/invite/DXnfBUG
Thanks Arti, I have not really followed up on this a lot because there are ready-made solutions already such as OpenMPTCPRouter which are far more advanced.
Please make a video of implementing the project on a very slow connection places like everybody have. As this will be an actual solution to a problem that actually exist in many parts of the world.
Hi Alvin, not sure if you have seen the latest video on MPTCP. I built a test lab in Proxmox - the idea behind is to tune network connections with linux qdisc and provide a test environment for latency / speed / quality impacts
@@OneMarcFifty Hello Marc, I saw that video but I dont know how to use proxmox. I install it with one of my machine and its really hard for me to work with.
I'm for options 4 and 3 immediately since i already have the hardware - looking forward to following future videos from you @OneMarcFifty although I know I'm coming to this late (byline says "3 years ago" as I make this comment) the equipment is in fact vintage, so it will come down to a matter of firmware version availability at this point (2023) or so I would imagine going in
Speedify VPN allowed me to do this. I could connect to multiple wireless and Ethernet service on my computer and speedify would bond them for me. Used to be awesome. Unfortunately, speedify VPN service has slowed down to the point I had to change to another service.
Thanks for this. I searched for long time for LTE modem bonding and your solution is excellent and elegant and this is what digital diy should be. I would chose point No3. One additional question: What about packet reordering, is this an issue?
Hi Vedran. Packet reordering _is_ an issue with this solution, i.e. it only works with lines of approx. the same speed. The reason is that you can't use the different load-balancing algorithms because ethtool gives back a hard coded speed of 10 Mbps for VPN interfaces...
@OneMarcFifty,, could you consider WAN Bonding with ROOter and OpenMPTCProuter? ROOter is very well built for cellular/wisp usecase (failover for when wired internet backhaul might die or overloaded). For example, with everyone working from home, everyone is using the wired internet backhaul that was not planned by backhaul engineering when the lines were laid. Using a cellular bond that might connect to a separate backhaul miles away might help address congestion.
Hi, many thanks for the feedback. I am however not following up any more with this project, as there are better solutions (e.g. OpenMPTCPRouter) around.
Thank you for the video. Today only I came across this and it help me a lot so I subscribed to your channel. I would like to see this project available as docker image.
Thank you - yes in theory you can install this on a mikrotik router with openwrt. However at this point the scripts are made for debian style linuxes, i.e. you would have to adapt them (opkg instead of apt etc.)
5 - resilency. I use two mobile phones connected to two different VM's atm. 1 cellphone is permanently connected and the other I unplug every day when I go out and replug when I get back. I would like a solution where if one of the phones get unplugged and I replug and tether it again, the tunnels automatically restablish on both links :) Cheers and thanks for the video!
Other solution would be rent a space and drop a new fiber line in your friends office with gigabit speed and put a raspberry pi server where you could vpn bond to that pi server.
That’s even better if you want to use services like video on demand etc. Because the providers have implemented filters on Datacenter IP ranges. You would of course need your friend’s OK for this ;-)
Sehr kompliziert. Das einzige, warum ich dies als plausibel erachten würde ist der layer 2 Aspekt. Denn mit dem layer 2 benutze ich Ethernet over IP, um das Fehlen des VLANs zu umgehen. Weil die Trottel von AVM, trotz ihres Preisniveaus, immer noch nicht VLAN in die Fritzbox gebracht haben. Auf Layer 2 zurück, kannst du vielleicht näher erläutern, wie das mit dem data-link layer meine Verbindung schneller macht? Mit diagrammen wär toll. Meine letzte Meile kann 100Mbit/s und beziehe 25Mbit/s Internetverbindung. 2 Adern (nicht relevant), bedarf Synchronisierung, wie bei VDSL üblich. Kriege ich also aus meinem Internetgateway mehr Geschwindigkeit durch einen Layer 2 (Data-Link layer) Trick? Und muss ich jeweils was beim MTU- bzw. L2-MTU-Wert beachten? Und was würde mein ISP davon halten? Und wie sieht es mit latenz aus?
Das sind ja gleich 3 Fragen auf einmal ;-) Die vorgeschlagene Lösung macht Deine Verbindung nicht schneller. Sie ermöglicht es lediglich, zusätzliche Verbindungen dazuzubündeln. Außerdem ist die Lösung nicht für hohe Geschwindigkeiten gedacht. Da wäre OpenMPTCPRouter besser. czcams.com/channels/G5Ph9Mm6UEQLJJ-kGIC2AQ.html
Nice ;-) You could do a solution near to "peplink" does or in the old days viprinet did and work a little bit on it; maybe go to small enterprises with it and earn money ;-) Due to layer 2 you could do dynamic routing over it like bgp etc.
@@OneMarcFifty So maybe one step by the other ;-) One first thing I would consider is "Latency / packet loss / jitter" check and optimization. What, if one of the bonded lines faces these issues... :-) Nethertheless - you did a great job for the community and now its by you to move on or stop :-) Have a great day buddy!
I was just looking out for an open solution to build a speedify like solution, I believe speedify won't work as good as it shows in India. Would love to see your 6th option in Call to Action but in details explaining what your are actually doing, explaining the config, and how you are using it with OpenVPN
Marc I’ve just found this and I am looking to do the same but people want to charge me the earth!!! If I want to do this with 2 FTTC connections what’s the cheapest router I can get that does dual WAN and I can install openwrt on to ?? I loved this video have sub and liked
Hi, many thanks for your comment - and thank you for liking and subscribing - Awesome ;-) in fact for dual WAN you could easily use any router that can run OpenWrt and configure VLANs - I do however not know about a specific router with 3 NICs - Now I am a bit sceptical with regards to bonding 2 FTTC connections in order to get to high speed because you would need to find a VPS that you can reach at that speed... The idea of the solution was rather to provide better speed at rural areas with 4-10 MBit etc. ;-)
Hi, quit good video on the topic. But what about ppp. If you want to leave out the encryption maybe another soltion is gre tunnel with pppoe. With this the ppp can Bundle both interfaces together. Which in hinsight could be better soltion for "small" router with openwrt on it.
Awesome - many thanks! I am actually just working on the second episode where we will walk through the scripts. Most probably I will do an OpenWrt version - maybe even with a luci interface 😉
Great video. I am in Cambodia. Out in the province the LTE speeds are pretty slow. Not enough BW to video. Just thinking how this solution can be used in the province.
Hi Marc, i REALLY lovend thuis video and YESSS i would love to see a mobile solution with a raspberry with 2 4G singles and a powerbank. I,m a camera man a sometimes need to go live for events. Ofcourse there are commercial solutions but they are expensive and have annual bils up to 600€. I Will follow this channel to see if you have a practical solution. I,m only limited technical. KEEP UP THE GOOD WORK.
For some IOT devices create a wifi spot without internet connection. if the android phone connects to the device's wifi, it may lose the internet connection. can we use this Technique to create a tab vpn, to let the android phone use 4G to connect to internet, also connect to IOT's wifi spot at the same time?
The server part was relatively good, but the description of the client part was very vague and brief. I did not understand it, but please explain how the client part is configured in OpenWRT. I load balanced 3 interfaces with MWAN3 and increased the speed. Now how do I configure these 3 interfaces like you in OpenWRT?
Good work and wall explaining, I think you could try openmptcprouter (google this name. base on openwrt) which is using mptcp to aggregate your internet (and work better). tap bonding only work if your connection is good.
Hello Marc, awesome video!! Do you know if there is a way to connect multiple PCs with openvpn clients running via single VPS with openvpn server? I had this setup running but on layer 3 (tun) and now i can't find a way to do the same thing using layer 2 openvpn. My goal is to run ssh@PC2_IP from PC1 and control it - could you give me an advice?
Very nice thank you for your way to explain, i have a question, i Can bonding 2 connexions first with hotspot from m'y phone and second from my router 4g Huawei b525s-23a , i have an vps OVH , and raspberry pi 4 , and anotber router hg553 with openwrt, i would really bonding my connexion toi became faster, please where IS the most way for bonding : vpn bonding or openmptcp and thank's very much
Now the VPN bonding as I suggest in the video should really be lookad at as a Proof of concept rather than something that can be deployed on a larger scale. It has limitations in the sense that it does not do packet management etc. - OpenMPTCPRouter does this. Where VPN bonding works well is if you have multiple lines with the same speed an comparable latency. If not, use OMR.
Sweet it´s do-able... Really good. But maybe you could make a more simple guide for noobs. Maybe a video showing step by step how to do the bonding all on a router and a win10 pc? with 3 phone connections (4g) you bond?
Hey Martin, your timing is perfect - I am currently looking into Multipath TCP and building a test lab for it - in essence, there is a solution called OpenMPTCPRouter that uses Multipath TCP and can be set up quite easily. The suggested bonding solution is not very scalable. Once I am finished with my current 4G videos I'll also do a speed test over multiple bonded lines. Stay tuned - more to come ;-)
It could indeed - However using a vps for this might be a bit overkill. I have used scripts on my router in the past and 3G Dongles. Might publish something around this subject in the near future 😁
Knowing that MPTCP is implemented with Ubuntu 22.04, is it better to use openvpn with MPTCP or openvpn with bonding? I would like to use 2 flaky connections at the same time. Thanks. WireGuard with MPTCP doesn't seem to be an option, since WireGuard uses UDP.
Hi Jerome, on a general note MPTCP performs better if you have asymmetric connections. The here suggested solution works good on (slow) symmetric lines as there is no packet reordering or the like.
I guess I could use your script to setup a openvpn multibond (with only one bond), and enable MPTCP in the OS? That setup seems simple, right? I'm not an expert in this domain. The last piece of my puzzle would be for all my computer of my lan to use this VPN to reach internet. Thanks for your answer.
I am trying to learn to do this, no IT background, exceptI have been using Openwrt/rooster successfully at home for almost 2 years. Started with MOFI, have built a couple, and Cradlepoint cba850. Now, i have 2 rpi4's trying to vps from my brothers house in the city, looking at openmptcrouter but I just havnt figured it out yet. The openmptc image is on the rpi4 but I don't know how to use it. Yet. In USA.
Hi James - many thanks for your feedback! Let me know how it goes with openmptcprouter - dont forget that you need a multipath enabled kernel on the VPS for openmptcprouter- you might need to compile it... The solution that I suggest uses UDP and can be used with standard Linux - I‘ll work on an OpenWrt alternative as well.
I want a vps server.plz give me link where I can buy and rent for the server.I am very much excited after watching your technical video & I want to make this for me
Hey, many thans for your comment. I am a vendor-independent hobbyist and do not recommend specific vendors. But if you check the comments below then I am sure that you can find one that suits you - the other folks might have recommendations for you as well..
Great video Marc! I would like to go with option 5 of deploying it on Pi 4 and use multiple Wifi adapters ... may be 4 of them using USB adapter, 1 using Ether and 1 built in. 1 of them should be AP so max 5 in, 1 out. During COVID 19 situation, not able to get any ISP to provide more than 5mbps in my area. So seriously thinking about it. I have 2 ISPs, and 2 phones/hotspots that I can use.
Thanks Nitin, outstanding feedback! It‘s true I haven’t thought of the Pi4 that much yet but it does have great connectivity - I am currently thinking about making this for Openwrt in a first next step but I do need to do more with the Pi anyhow - so I might give this a shot. D*ng 5 Mbps is bad - but many people in my family have the same situation.... can you get 3G or 4G as a second line or do you have a second wire?
Thanks a lot - I am definitely planning a separate video about 3G/4G reception with yagi antennas - I managed to improve things around 60-70% like that. If you go for mobile connections however and use the same cell and provider the improvement might be lower though - if you can, use different providers.
Hello, Great video, ive been looking for something like this, that will support voip, and vpn support to my network in the states. Im currently running an openvpn access server, with a raspberry pi on this end. It works "ok" but needs more bandwidth. Speedify almost filled this until, finding out they dont support openvpn on theyre network. Thanks for the project. This is what ive been looking for. Ill let you know my results. JB
Hi im trying figure out how i can bond 4 LTE 1gig connections locally and get at least 3gig out. is it posible just host vpn locally and do bonding locally?
@@OneMarcFifty in finland we have 1gig lte(5g) connection for 40euros. I got part how i can multi sim with pci card and share Internet via spf port to switch but bonding is the issue atm im trying figure out if i would get internet via sim send it to vpn and it would Bond it and send me back gona suffer alot of speed and latancy. Living in Village where 1300ppls living only way get internet vie Lte becous tower is 500meters away from me no fiber no cable
Many thanks for your reply, we will have a closer look at the technical details in the next episode, however we will focus more on routes, rules and tables. The algorithm as such can be changed by adapting the value in /proc/net/bonding/bond0 (see www.tecmint.com/network-nic-bonding-teaming-in-debian-linux/2/ for explanation). The overhead is basically the normal VPN overhead, plus serialization for bonding plus encryption. So depending on how you encrypt and how low your MTU is it can become quite high. I haven't measured it in detail, but I'd estimate 10-20%.
IN ORDER TO CHANGE THE BONDING MODE USE THIS: /etc/openvpn/stopbond.sh && ip link add bond0 type bond && echo 5 > /sys/class/net/bond0/bonding/mode && /etc/openvpn/startbond.sh && cat /proc/net/bonding/bond0 (change 5 to any pf these values : mode=0 (Balance Round Robin) mode=1 (Active backup) mode=2 (Balance XOR) mode=3 (Broadcast) mode=4 (802.3ad) mode=5 (Balance TLB) mode=6 (Balance ALB)
Can you please do the implementation to your parents home? I also live in a rural area with the exact same problem. Same speeds and no other options to buy better internet.
Hi, many thanks for your comment. Unfortunately that is not possible at the moment due to the situation, but I think I'll implement a 4G solution, possibly with OpenMPTCPRouter which we will have a look at in the next videos
Can it be done with WireGuard? I was able to connect rpi and an avm Fritzbox!4040 with OpenWRT via VXLan (layer 2) protocol using wg0 ips as adresses. Speed though was dependent on my server's upload speed which was only 10Mbps.
Hi jatin, this solution can be used with 4G/LTE connections. I assume you refer to my call of action - there will be a separate video very soon on boosting LTE/4G connections but it will probably not use bonding however ;-)
Hi Marc,I assume this would work with a linux machine only ? Would there be a way to port it for a Windows 10 PC , sort of like an open source "speedify" equivalent ? Cheers and thanks for sharing the knowledge !
It might be possible - I don’t know. I just did it in Linux because you can do everything with the system tools rather than having to write an executable or driver
Please visit my channel page: czcams.com/channels/G5Ph9Mm6UEQLJJ-kGIC2AQ.html
Want to talk to me? Join my Discord Server: discord.com/invite/DXnfBUG
CALL TO ACTION - please comment on how you want to move on with this series - see my suggestions in the last 2 minutes of the video. This solution is heavily inspired by serverfault.com/questions/977589/how-to-bond-two-multiple-internet-connections-for-increased-speed-and-failover
Nice video! If i use this on my Raspberrypi, does it need to be the "router" of my home network so that other devices can benefit from this connection?
I'd be quite interested in the wireguard option since i am already running some wireguard connections to a VPS.
Hi Marc! Your tutorial is a great rescue for me.... I came accross your internet bonding tutorial after going though a lot of hoax and fake tutorials on youtube. I live in a village in India where we have no broadband or high speed internet connectivity... but only slow speed connections over mobile broadband which hardly goes up tp 1 MBPS. I saw your tutorial was unique and gave it a try and ..... I finally could bond 3 mobile internet connections using a VPS based in Mumbai, in India..after a series of failed attempts... I was surprised to see the internet speed shoot up to 24 MBPS on Raspberry pi which I never expected..... the speed is even more than what I received when I used speedify whose nearest VPN is based in Singapore. Thanks a lot....!!!!!!!!!! Your tutorial is a saviour for me. I have successfully forwarded the bonded connection over ethernet port of Rpi and able to use it on windows and mac....I'd like to try more of your tutorials. .... My heartfelt gratitude for these genuine tutorials.... they're awesome....
Hi brother I wishva from Sri lanka. Next to your country I also having the same problem in sri lanka. I thought I could do this as the video. If you don't mind can I get your help?
You have a great way in explaining things, very understandable.
I would love to see more content on this channel. Subscribed.
Keep up the good work.
Many thanks for your kind feedback 😀 There will be much more to come - promise 😉
Hi Marc! I'm quite late to this video, but as a non-techy, this is the exact solution that I (and many others) are looking for! There's a huge market out there for livestreamers that need a mobile bonding solution. Most companies that offer something like that charge up to $2000 for a solution, but after watching your video, it seems absolutely doable with some time and a raspberry pi. If you are still taking requests, I would love to see you create option 4 (custom build) that can bond multiple mobile connections into a portable bonding solution! Thank you so much for this great video and looking forward to seeing what you come up with!
Hey many thanks for your kind feedback! Actually we will have a look at MPTCP and OpenMPTCPRouter in one of the next episodes which hase much better scalability!
@@OneMarcFifty Thank you so much Marc! I'm looking forward to seeing what you have in store for us! Actually, I tried to create my own portable bonder with a Pi3 and OpenMPTCP, but there was such little documentation out there (written for non-techies) that I ended up giving up. I hope that your video explains the set up process in a less daunting manner! Thank you again Marc!
@@supersecretcreatorsclub1634 hi guys. I watched this video for the same reason. I want to start a small live-streaming business and I need a more robust and portable solution for streaming. I’ve also got a couple of raspberry pies and I have basic familiarity with Linux. I didn’t find any video with mptcp on this channel. Did I miss something?
im newer to linux and love that you explain things on your video rather then saying do it like so and just expect that everyone understands what your talking about.
Thank You
Hi Jeff, many thanks for your friendly feedback.I love to explain stuff because I think it is an indicator that I have kind of understood it myself - in other words : As long as I can't explain the thing then I need to go back to the lab because presumably I have not yet fully understood it ;-)
That is exactly what I was looking for, really many many thanks for this fantastic video. Really appreciated. Thanks a lot!
Awesome - many thanks to you for watching and for your feedback 😉
Thanks Marc. This was great! I'd love to see the OpenWRT implementation.
Hi Peter, many thanks - it's noted!
@@OneMarcFifty Hi, I know it has been years since you posted this video. I would like to see the OpenWRT solution as well
Wow, you replied to every single one of your comments... That's amazing and deserves a sub just for that really.
Hi Joe - thanks for subscribing ;-) yes - when I started the channel I wanted to be reachable in the sense that everyone could interact with me - I do video sessions on Discord every Sunday as well - which means that you can even talk to/with me live ;-) Maybe see you there ;-)
Thanks for the awesome data. It is great to know that such a configuration works. I'd love to see an implementation with an OpenWRT router.
Hi David, check out Openmptcprouter- I’ve also made a video on this
I'd love to hear this continue in the openWRT realm, for its broad hardwares support, from home router, to Raspberry Pi, and even x86.
I have a tragic life being a networking geek living less than a kilometer away from big ISP's distribution station, but my area is just out of their wired internet coverage. So I keep my 2 x 1.5 Mbps LTE connections.
Ah - that‘s really mean! Living next to the node and not getting in! It‘s been like this at my place for years as well- all the neighbors enjoyed high speed internet and I was on a slow line - I feel your pain 😉
This is awesome! I could see a lot of practical uses for such tech, so definitely keep working on it if you can! A twist on this that I think would be really good would be a configuration that allows multipath transmission, to try and get a reliable connection if one of the connections isn't very stable (without incurring much packet loss).
Fantastic feedback, many thanks Jamie. Its definitely on the list- The bonding strategy is something we will look at in the 3rd episode
My use case for it is just to connect my private NAS / VPS server locally to my main machine over two links directly between the two systems. I had an idea of how it as done and knew it required VPN bonding as normal link aggregation is not enouph. I do thank you for the video and will review the scripts. I am not sure of exactly what commands to issue to setup openvpn in this way, however I should be able to setup multiple instances of open vpn on VPS server.
Hi Shawn, many thanks for the feedback. Let me know how it goes.
Awesome video! Would love to see a follow up with wireguard. I will be renting a server next weekend to test the current openVPN solution.
Awesome. Many thanks for your feedback.
Thanks for your video Marc. I've been interested and involved in commercial internet bonding and networking solutions for years and have deployed various solutions for enterprise clients using technology from Viprinet and Mushroom Networks. I was looking at Speedify for home office broadband bonding, but being a network engineer and IT generalist myself, the idea of a linux based solution caught my interest.
Given the speed improvements of Wireguard over OpenVPN, I'd definitely recommend looking at that as there's less packet overhead an demonstrable bandwidth improvements. If the TUN interfaces can support this then it could definitely work. Admittedly I haven't looked at your Git repo yet, but plan to shortly.
The problems with using Raspberry Pi's is of course the number of NICs and even a Pi4 with a USB ethernet adapter or multiple LTE/WiFi dongles, it's not overly graceful. I was looking at using a (refurbished) HP T730 Thin Client for this sort of thing personally with a half-height quad port NIC. These are often used for pfsense/opnsense and could work nicely with this.
Have you looked at using a VPS from providers like DigitalOcean or Upcloud as that's potentially the route I'd take for this?
Hi Chris, awesome feedback, many thanks. As far as my investigations go for the moment it will be difficult to bond wireguard interfaces directly, I am currently examining the possibility to use some sort of tunel with weak encryption, maybe over a tun VPN. I agree, Raspberry Pis are not necessarily the easiest to play with, given the Ethernet limitations. One could easily overcome the number of NICs by adding a managed swith and enabling VLANs, i.e. "map" the VLANs out to the physical ports on a switch. But then if you count the price for the Pi plus the switch plus the dongles you will have to spend 200+ USD for an OK solution. I need to test performance on a mid range easy to purchase ready made router like the Archer C7 - of course a thin client PC would probably be easiest. I have also looked at Virtualization options such as virtualbox (i.e. run the router in a VM) - maybe I'll do some distinct videos on each subject ( we are approaching the 1000 subscribers milestone, so I want to make something special anyhow). I haven't had a look at the providers you mention but will do.
USB 3.0 1000mbit nics are pretty cheap. You can buy two, hook it up to raspberry pi and get three ethernet connections if that works.
The problem is, usb ports and ethernet port share bandwith in raspberry. In theory with 3 nics in total you should be allright. And 4 nics would be the limit.
-------
I am searching bandwith bonding to increase my truenas server's remote connection capability. In Turkey download speeds are ok. 100mbit/s. But upload speeds are 5mbit/s. With paying extra, it increases to 10mbit/s. To work with a disk server remotely, 10mbit is pretty slow. So I will try to combine two 10mbit upload speeds if possible.
most probably my message isn't actual for today however option 3 is most valuable for me .. Unfortunately hasn't seen your channel before however found it powerful and valuable ... will keep my eyes on further content!
Hi Andrey, glad you liked it - many thanks for the feedback!
This is really interesting.
With either wireguard or OpenVPN.
Wireguard is supposed to be much faster and newer however OpenVPN still has more support and is able to handle user authentication.
I got so excited when I stumbled upon this video. For the same reason, I wanted to set up something like this for my parents. I am a technical guy with 25+ plus on the software side but never had a chance to explorer networking. I spend my few weekends trying to test and configure my Raspberry Pi 4 with two WAN connections (two mobile phones, ATT and Verizon in USA, connected through USB port) and an aws ec2 instance as a VPN server. Bottomline - simply, it doesn't give you the expected result. Technically VPN over the bonded interface works as suggested by you, but it does not increase the speed.
Here is my configuration:
Location - Bay Area, USA
WAN 1 - ATT cell giving me 60+ Mbps
WAN 2 - Verizon cell giving me 60+ Mbps
VPN Server - Amazon EC2 instance with 8 core and 12gb RAM hosted in N.California region. Ubuntu Server.
VPN Client (No encryption) - Rasberry Pi 4B with WAN1 and WAN2 connected through USB tethering. It's located very close to VPN server and getting 120+ Mbps without over my DSL connection.
Moment of truth - with VPN over bonded interface, my speed dropped to around 40 Mbps. Well - I was expecting 60 + 60 = 120Mbps. Actually, I turned on monitoring on both USB interface and VPN Server tap interfaces - to my surprise, they are sending and receiving traffic, but the speed drops instead of combining.
Speed Over simple VPN with encryption - I am getting 60+ Mbps, so it's not the speed between two VPN endpoints or the cell network.
Theoretically, I still believe in this solution, but just didn't work in my environment. On the hindside, I learned a lot about networking. I am offering anyone who can help me to build a reliable solution that I can use to see my parents every day. Thanks a lot for sharing this video!!
Script I was using to troubleshoot.
!/bin/bash
echo "-------------------------START---openvpn---------------------------------------"
systemctl list-unit-files | grep -i openvpn
echo "-------------------------------------------------------------------"
systemctl --type=service | grep -i openvpn
echo "-------------------------------------------------------------------"
ps -ef | grep -i openvpn
echo "-------------------------Networkd Interface------------------------------------------"
ip -br addr
echo "-------------------------------------------------------------------"
ip -br link
echo "-------------------------------------------------------------------"
OUR_OWN_IP=`sudo -u nobody curl -s ipinfo.io/ip`
OUR_OWN_IP2=$(grep -m 1 -oE '^[0-9]{1,3}(\.[0-9]{1,3}){3}$'
Hi Vimal, many thanks - you might want to check out my github - I have made a couple of bugfixes there - turned out there were a couple of issues related to timing etc.
@@OneMarcFifty Thanks for your reply. I will give this a try on more time. I have some ideas and questions if you don't mind connecting with me at LinkedIn - www.linkedin.com/in/vimkumar/
Hi Vimal, I have just sent you an invitation to connect on linkedin.
Thank you so much for explaining the concept, I was looking for exactly something like this, an alternative to Speedify.
Perfect - glad it helped ;-)
Потрясающая находка! Как тяжело найти такого профиля канал на "youtube" (((((
- приятный человек;
- отличная дикция;
- подробное обьяснение - каждого шага или действия, даже новичок - когда будет это всё реализовывать у себя на "PC" не увидит - ERROR -WORNING -AAAAA Mother help .... а если даже появится какая - либо ошибка, то в инструкции к видео - будет описано, как решить проблему!! 100\100 Спасибо за старание и качественный материал!
После первых минут, просмотра ролика - лайк/ -подписка/ -колокол ! Весь вечер смотрю ваше видео))))
Ещё раз, Спасибо!
Большое спасибо за ваш комментарий! Я рад, что вам нравятся видео. И большое спасибо за подписку!
Thanks for sharing and explaining. Definitely what I am looking for but my technical knowledge to implement under a fairly tight budget and strict timeline might be a shortfall for my immediate needs. I've subscribed for more vids and looking forward to trying this in the next few weeks. Will provide feedback
Many thanks!
Great video. Thanks for explaining it in detail along with ready to install scripts. I was able to set it up on my pi4 and get going. However, couldn't achieve the desired results as there is lot of latency. It would have been great if there was an uninstall script so that we can revert all changes if not needed.
Many thanks for your feedback- I will add this in a future update
Hi Marc, late to find this out but it is a great tip and trick. I am already implementing it. My next suggestion instead would be to how to enable port forward on the vps so that certain ports can be forwarded to the home device. I am sure it is a matter of few commands but just mentioning. Then I feel this will become a “cloud home router” solution.
Hey, great feedback and idea, thank you
This is something I need. I have two LTE G4 wireless connections in our small rural town - both "unlimited data", but one uses traffic management so it slows down at peak times (which is pretty much any time of the day or night - I actually think the provider has oversubscribed the service). Anyway, I've tried a Unifi EdgerouterX which supports channel bonding, but the engineers tell me it won't work unless I'm dealing with two connections from the same ISP. I've also tried Speedify but after seeing under the hood how it works, I'm not particularly impressed. I'd rather build a system using Raspberry Pi or OpenWRT, or even hosted VPS. Doesn't really matter how, it just needs to increase my speed.
Hi Richard - this solution needs two similar lines really. What you get is twice the speed of the slowest line. Alternatively you might want to check out OpenMPTCPRouter for this.
If its not too much to ask, you could do all 5 options! haha
Great content! Looking forward for those!
Hi Pedro, I have not really followed up with this project any more - you might want to have a look at OpenMPTCPRouter instead ;-)
That's great man
Your explanation is structured and understandable
I wish you health and success
Many thanks Abdul Rahman Al-Baasy. I wish you the same!
If you ever read this, You videos are *AMAZING.*
Hi, many thanks for the friendly comment ;-)
I'd love to see a video of this working on openwrt as I'd like to follow this route for my internet connection, I like your explanations too, they are detailed and entertain the viewer.
Thanks a lot for your gentle feedback- I am working on the OpenWrt part - but it is going to take another I‘d say 4 weeks before we can see anything usable 😉
I would love that also. But I guess no video yet
Yeah - in the meanwhile I had discovered Openmptcprouter which is far more advanced;-)
Ah...my bad...I am checking it atm... Thanks... Hopefully I find a solution for windows also (hardware would be ideal)... Providers charge way to much for bonding services
This was awesome, please definitely do a follow-up explaining if software defined adapters can be bonded
I have a totally different problem, i have a super high speed connection 100MB. However, when i use OpenVPN i get 8MBs down and 35 MBS up
Hi Harri, this can have multiple causes. Typically even if you have 100 or 1000 Mbps at home that says nothig about the effective speed between your place and the VPN server as the packets need to go through various bottle necks. In order to figure this out, you might launch iperf over ssh on your vserver and measure the speed. Are you using your own vps server or are you paying a service for this ?
@@OneMarcFifty One question I would ask Harri is if they have AES-NI enabled processor (I only use Intel. AMD might have similar) on the machine that runs OpenVPN.
Good work, I worked on an open-source wifi project several years ago and had built it off RasperberryPi with a solar charger and USB battery bank. The concept was to provide wifi security awareness with a 4g card and phishing wifi, this was before EvilIP scripts. That being said I've wanted to revisit it again as I had started building a spider box to combine multiple wifi connections into one but at that time OpenVPN bonding was not working, I'm very impressed with your progress. I would be interested in seeing your custom build, based on OpenWRT or Ubuntu or Pi. These all are offered in ARM/x86 versions so I would think it doesn't really matter. To make it reliable or usable in rural areas resiliency would have to be built it, in many environments cell signals are very very poor and drop constantly but bonding with self-healing would provide a viable solution. I'll reach out to you on Reddit and we can go into more details.
Thank you very much for your nice feedback! Let‘s give everyone else a chance to comment/vote for 2-3 weeks and see where we will take it from here. I find the idea of a mobile self-healing device quite charming 😉
Another awesome vid, both technically and very clear presentation - thanks
I vote for (2) Wireguard, and (3) OpenWRT with Wireguard (because a lot of router hardware is very slow with OpenVPN due to weak single-core performance)
Also, (5) some Resiliency may be a good idea, especially for rural locations with elderly parents haha
Even a couple of lines of pinging to make sure a tunnel is still up with sane latency would be a help
My thoughts ~against~ a specific hardware project - this takes up your time as you mix/match/troubleshoot the hardware over and above the coding.
Personally I'd rather go generic, specifically on OpenWRT client routers as my prefence, though Debian at both ends is fine, it just requires more costly hardware (than OpenWRT on ex-CPE hardware for example)
It MAY however be goood for your channel to offer a simple Raspberry Pi project version, at least in simple form, because it is a popular platform especially for beginners. OpenWRT geeks are geeks already, but Raspberry Pi users tend to actively search out projects and solutions for fun.
I've found it's very easy to get bogged down with battery backup/UPS issues when in many cases if you lose power, you just do something else until it comes back on, especially if it's just a family chat :)
I also prefer a spare duplicate microSD card - just a simple dd - to a UPS for Raspberry Pis in case of power failure.
Finally, to help limit bandwith using simple non-tech measures in video calling, we've found the following can work well :-
Always start with a voice call to explain what to do -and arrange to hang up video and go back to voice call if it's not viable.
+ Discuss who will make the decision to hang up and redial if so (best for the techie to do it)
Make sure both ends place their fones on a stable table and don't use them handheld (less camera movement, compression is easier + less glitchy)
Have a simple evenly-illuminated background, like a plain white wall, at both ends
Don't sit too close to the fone, so the head and body doesn't fill the screen (you move as you speak, but the wall doesn't, so less bandwidth)
Use earphones at both ends to prevent audio echo problems (very confusing for elderly people and also, it's extra packets in each direction)
Upstairs - you want good signal if using mobile data
Try to have a nice quiet evironment with no movement - avoid stitting with your back to a main road or television or busy bar !
Set quality to minimum if this is an option, or maybe try dim lighting (yes - really!) which can sometimes force lower camera resolution on some phones.
Hi Gord, many thanks for your thorough feed-back. I do agree, there are a couple of simple things that can be done in order to make this concept usable for the broader audience, such as adding stuff to ip up/down scripts, check latency and possibly fall back/forth automatically. Many thanks for your tips w/r to increasing video call quality - might be worth a video on its own ;-)
@@OneMarcFifty I'd also love to see a follow up on wireguard and/or openwrt.
Kanji Watada Thanks, it’s noted
Why do you need to use encryption at all? Why not just do this over a simple GRE tunnel? Encrypting something like 2x50mbit connections would be very heavy for your average OpenWRT router.
True - you could use 2 gretap’s as well…
It might be worth taking a look at mikrotik.
they offer cloudhosted routers (I have a few running at hetzer vps myself).
and the hardware routers, start at 30€.
it can do bonding, openvpn, wireguard (in 7.0 beta4), and everything firewall, NAT, mangle roules you can imagine.
And I think it's a great management app.
Thank you for the great video, it gave new impulses for new Ideas :)
Forget what I said, I just saw your OpenMPTCP router video. ^^
Hey, many thanks for your feedback - actually, yes - OpenMPTCPRouter is one solution, nevertheless - I have bought one of the Mikrotik Routerboards and I am actually very pleased with the completeness of their Software. However, where things become tricky is when you need to troubleshoot or use additional software - this is where an open system running linux just eats them all - My plan with that Routerboard (plus I bought a Bananapi R64) is actually to build my own 4G Auto-Failover-Router ;-) Stay tuned ;-)
Excellent your explanations. My suggestions are for items: 3 and 4. Great job. Thank you so much for sharing your knowledge.
Many thanks for the friendly feed back !
Very Helpful.Subscribed.
I will start working with Raspberry Pi device from today to make a portable high speed internet device.
I will need your support.
Thanks for this very infomative and easily understandable video.
Awesome - many thanks for subscribing and many thanks for your comment. Let me know how it goes - maybe we can see how it goes on discord ? I have just started my new server. discord.com/invite/DXnfBUG
Great video, will try it using a Raspberry pi
Many thanks for your feedback! Let us know how it goes !
Thanks for explaining and sharing Marc - much appreciated.
You’re welcome Janus, I am glad that you like the video!
Thanks for a great video. Very well explained and presented. Thank you for making this. 👍
Thank you very much!
Great videos! Late to comment, yet for next steps I would vote for Wireguard, Openwrt and Custom Build.
Thanks Arti, I have not really followed up on this a lot because there are ready-made solutions already such as OpenMPTCPRouter which are far more advanced.
Please make a video of implementing the project on a very slow connection places like everybody have. As this will be an actual solution to a problem that actually exist in many parts of the world.
Hi Alvin, not sure if you have seen the latest video on MPTCP. I built a test lab in Proxmox - the idea behind is to tune network connections with linux qdisc and provide a test environment for latency / speed / quality impacts
@@OneMarcFifty Hello Marc, I saw that video but I dont know how to use proxmox. I install it with one of my machine and its really hard for me to work with.
I'm for options 4 and 3 immediately since i already have the hardware - looking forward to following future videos from you @OneMarcFifty although I know I'm coming to this late (byline says "3 years ago" as I make this comment) the equipment is in fact vintage, so it will come down to a matter of firmware version availability at this point (2023) or so I would imagine going in
Awesome, great video and thanks. Subbed and liked.
Many thanks !
Speedify VPN allowed me to do this. I could connect to multiple wireless and Ethernet service on my computer and speedify would bond them for me. Used to be awesome. Unfortunately, speedify VPN service has slowed down to the point I had to change to another service.
Many thanks for sharing
Excellent! Finally a real bonding video ^_^ Thank you so much ~ I prefer OpenWRT
Thank you ;-)
Great video. Keep doing videos like these 👌✌
Many thanks! Will do ;-)
Thanks for this. I searched for long time for LTE modem bonding and your solution is excellent and elegant and this is what digital diy should be. I would chose point No3. One additional question: What about packet reordering, is this an issue?
Hi Vedran. Packet reordering _is_ an issue with this solution, i.e. it only works with lines of approx. the same speed. The reason is that you can't use the different load-balancing algorithms because ethtool gives back a hard coded speed of 10 Mbps for VPN interfaces...
@OneMarcFifty,, could you consider WAN Bonding with ROOter and OpenMPTCProuter?
ROOter is very well built for cellular/wisp usecase (failover for when wired internet backhaul might die or overloaded).
For example, with everyone working from home, everyone is using the wired internet backhaul that was not planned by backhaul engineering when the lines were laid. Using a cellular bond that might connect to a separate backhaul miles away might help address congestion.
Many thanks for your feedback, (for everyone) please see my reply on the OpenWrt Firewall video.
would be super interesting to see a implementation of this with openwrt (or something similar)
Hi, I never took this beyond beta state on OpenWrt because I found that OpenMPTCPRouter is much more advanced in that matter ;-)
Thanks a lot for this. I will try.
You're welcome - good luck, let us know how it goes !
that's what i need,bravo!
Thank you
2, 3, & 4would be really cool! 5 is the most interesting!
Hi, many thanks for the feedback. I am however not following up any more with this project, as there are better solutions (e.g. OpenMPTCPRouter) around.
@@OneMarcFifty wow thanks for replying! I’ll definitely have to check out your video on it.
Thank you for the video. Today only I came across this and it help me a lot so I subscribed to your channel.
I would like to see this project available as docker image.
Thank you very much. It might be a challenge in Docker but I will do a couple more episodes on bonding, test labs etc. including Docker.
Amazing content , subscribed!
Many thanks !
Great content, you're a lifesaver. I have a question, this can be done with a mikrotik on client-side?
Thank you - yes in theory you can install this on a mikrotik router with openwrt. However at this point the scripts are made for debian style linuxes, i.e. you would have to adapt them (opkg instead of apt etc.)
5 - resilency.
I use two mobile phones connected to two different VM's atm. 1 cellphone is permanently connected and the other I unplug every day when I go out and replug when I get back.
I would like a solution where if one of the phones get unplugged and I replug and tether it again, the tunnels automatically restablish on both links :)
Cheers and thanks for the video!
All you have to do is wait until we try OpenMPTCPRouter in the next 2-3 weeks. That should provide what you are looking for ;-)
Options 2 on 3.. wireguard on owrt sounds very good... bcs wireguard protocol is faster than ovpn...
Hey Francesco, I am not pursuing this project any longer- OpenMPTCPRouter is just far more advanved
Great video - please do one on Pi4
Many thanks for the feedback - you might want to have a look at OpenMPTCPRouter - you can run that on a Pi.
Other solution would be rent a space and drop a new fiber line in your friends office with gigabit speed and put a raspberry pi server where you could vpn bond to that pi server.
That’s even better if you want to use services like video on demand etc. Because the providers have implemented filters on Datacenter IP ranges. You would of course need your friend’s OK for this ;-)
Sehr kompliziert. Das einzige, warum ich dies als plausibel erachten würde ist der layer 2 Aspekt. Denn mit dem layer 2 benutze ich Ethernet over IP, um das Fehlen des VLANs zu umgehen. Weil die Trottel von AVM, trotz ihres Preisniveaus, immer noch nicht VLAN in die Fritzbox gebracht haben. Auf Layer 2 zurück,
kannst du vielleicht näher erläutern, wie das mit dem data-link layer meine Verbindung schneller macht? Mit diagrammen wär toll. Meine letzte Meile kann 100Mbit/s und beziehe 25Mbit/s Internetverbindung. 2 Adern (nicht relevant), bedarf Synchronisierung, wie bei VDSL üblich. Kriege ich also aus meinem Internetgateway mehr Geschwindigkeit durch einen Layer 2 (Data-Link layer) Trick? Und muss ich jeweils was beim MTU- bzw. L2-MTU-Wert beachten? Und was würde mein ISP davon halten? Und wie sieht es mit latenz aus?
Das sind ja gleich 3 Fragen auf einmal ;-) Die vorgeschlagene Lösung macht Deine Verbindung nicht schneller. Sie ermöglicht es lediglich, zusätzliche Verbindungen dazuzubündeln. Außerdem ist die Lösung nicht für hohe Geschwindigkeiten gedacht. Da wäre OpenMPTCPRouter besser. czcams.com/channels/G5Ph9Mm6UEQLJJ-kGIC2AQ.html
OpenWRT on both client and server. You need a decent home router to keep up with the encryption speed.
You may as well switch encryption off if you’re just after increased bandwidth
Olà. One more sub from 🇧🇷 because of this video.
Muito Obrigado ;-)
Nice ;-) You could do a solution near to "peplink" does or in the old days viprinet did and work a little bit on it; maybe go to small enterprises with it and earn money ;-) Due to layer 2 you could do dynamic routing over it like bgp etc.
Cool idea! But I am afraid that my daytime job plus youtube are already eating up all of my time ;-)
@@OneMarcFifty So maybe one step by the other ;-) One first thing I would consider is "Latency / packet loss / jitter" check and optimization. What, if one of the bonded lines faces these issues... :-) Nethertheless - you did a great job for the community and now its by you to move on or stop :-) Have a great day buddy!
I was just looking out for an open solution to build a speedify like solution, I believe speedify won't work as good as it shows in India. Would love to see your 6th option in Call to Action but in details explaining what your are actually doing, explaining the config, and how you are using it with OpenVPN
Thanks for your feed-back! It's noted.
omg i love this video, but prefer to use wireguard. can u make video for option №2 ?
Hi Viktor, I am afraid that this option is off.. I have no compelling idea how to bond with Wireguard as it is layer 3 only...
@@OneMarcFifty (
Please implement on openwrt! Great work!!!
Hi - Implementation on OpenWrt is probably off as Openmptcprouter does it quite nicely
i am amazed!, subscribed, amazing!
Idnawsi C tansil I am glad you like the video - thanks for having subscribed!
It would best if we can have this setup on Raspberry Pi. I would love to have such setup on my PI and also by using wireguard
You can set this up on a Pi - using Wireguard would be more tricky as it's a layer 3 VPN. Have a look at OpenMPTCPRouter as an alternative maybe.
Marc I’ve just found this and I am looking to do the same but people want to charge me the earth!!! If I want to do this with 2 FTTC connections what’s the cheapest router I can get that does dual WAN and I can install openwrt on to ?? I loved this video have sub and liked
Hi, many thanks for your comment - and thank you for liking and subscribing - Awesome ;-) in fact for dual WAN you could easily use any router that can run OpenWrt and configure VLANs - I do however not know about a specific router with 3 NICs - Now I am a bit sceptical with regards to bonding 2 FTTC connections in order to get to high speed because you would need to find a VPS that you can reach at that speed... The idea of the solution was rather to provide better speed at rural areas with 4-10 MBit etc. ;-)
Hi, quit good video on the topic. But what about ppp. If you want to leave out the encryption maybe another soltion is gre tunnel with pppoe. With this the ppp can Bundle both interfaces together. Which in hinsight could be better soltion for "small" router with openwrt on it.
You mean MLPPP ? Yeah, that could work as well. At the moment though I think the most promising approach is MPTCP.
Thanks for the video
I would like to see how it works
Especialy on a openwrt box
Keep on making awesome videos
Greetings your new sub
Awesome - many thanks! I am actually just working on the second episode where we will walk through the scripts. Most probably I will do an OpenWrt version - maybe even with a luci interface 😉
@@OneMarcFifty sounds great can't wait!
I vote for OpenWRT.
Great video thanks.
Hi Andrej, many thanks - it‘s noted 😉
Good explaination. It possibile to use mikrotik routerboards as a clients ?
Hi, in theory this could be possible - however you would need to get an MPTCP enabled Kernel for those - I have only tested on x86.
I quickly subscribed you after watching your video ....it was really great video i will also do the hands on over it for a project ...may be it helps
Awesome! Thank you!
Great video. I am in Cambodia. Out in the province the LTE speeds are pretty slow. Not enough BW to video. Just thinking how this solution can be used in the province.
Thank you very much for your comment. That is exactly the use case the solution has been designed for. Let me know how it goes!
Hi Marc, i REALLY lovend thuis video and YESSS i would love to see a mobile solution with a raspberry with 2 4G singles and a powerbank. I,m a camera man a sometimes need to go live for events. Ofcourse there are commercial solutions but they are expensive and have annual bils up to 600€. I Will follow this channel to see if you have a practical solution. I,m only limited technical. KEEP UP THE GOOD WORK.
For some IOT devices create a wifi spot without internet connection. if the android phone connects to the device's wifi, it may lose the internet connection. can we use this Technique to create a tab vpn, to let the android phone use 4G to connect to internet, also connect to IOT's wifi spot at the same time?
Hi Mike, not really. this is about aggregating two channels into one - plus you would need a bondx device on the endpoint.
@@OneMarcFifty thanks a lot~
Does the TP-Link er605 run Open WRT and/or OpenMPTCProuter? Trying to get bonding to a VPS. Trying to combine 2 or 3 slow ISPs in a remote area.
Please check the OpenWrt Table of Hardware (TOH) openwrt.org/toh/start
The server part was relatively good, but the description of the client part was very vague and brief. I did not understand it, but please explain how the client part is configured in OpenWRT. I load balanced 3 interfaces with MWAN3 and increased the speed. Now how do I configure these 3 interfaces like you in OpenWRT?
Good work and wall explaining, I think you could try openmptcprouter (google this name. base on openwrt) which is using mptcp to aggregate your internet (and work better). tap bonding only work if your connection is good.
Many thanks for your feedback. OpenMPTCPRouter is on my radar. You are right, the tap bonding has limitations.
Hello Marc, awesome video!! Do you know if there is a way to connect multiple PCs with openvpn clients running via single VPS with openvpn server? I had this setup running but on layer 3 (tun) and now i can't find a way to do the same thing using layer 2 openvpn.
My goal is to run ssh@PC2_IP from PC1 and control it - could you give me an advice?
Actually the PC i want to control is a mobile robot with multiple ISPs and I want to bond them together, but the supervisor PC will have only one ISP
Very nice thank you for your way to explain, i have a question, i Can bonding 2 connexions first with hotspot from m'y phone and second from my router 4g Huawei b525s-23a , i have an vps OVH , and raspberry pi 4 , and anotber router hg553 with openwrt, i would really bonding my connexion toi became faster, please where IS the most way for bonding : vpn bonding or openmptcp and thank's very much
Now the VPN bonding as I suggest in the video should really be lookad at as a Proof of concept rather than something that can be deployed on a larger scale. It has limitations in the sense that it does not do packet management etc. - OpenMPTCPRouter does this. Where VPN bonding works well is if you have multiple lines with the same speed an comparable latency. If not, use OMR.
@@OneMarcFifty thank you for your fast response , you are the one
Sweet it´s do-able... Really good. But maybe you could make a more simple guide for noobs. Maybe a video showing step by step how to do the bonding all on a router and a win10 pc? with 3 phone connections (4g) you bond?
Hey Martin, your timing is perfect - I am currently looking into Multipath TCP and building a test lab for it - in essence, there is a solution called OpenMPTCPRouter that uses Multipath TCP and can be set up quite easily. The suggested bonding solution is not very scalable. Once I am finished with my current 4G videos I'll also do a speed test over multiple bonded lines. Stay tuned - more to come ;-)
Great video. Could this be used as a fail over redundant solution for better internet up time ?
It could indeed - However using a vps for this might be a bit overkill. I have used scripts on my router in the past and 3G Dongles. Might publish something around this subject in the near future 😁
Knowing that MPTCP is implemented with Ubuntu 22.04, is it better to use openvpn with MPTCP or openvpn with bonding? I would like to use 2 flaky connections at the same time. Thanks. WireGuard with MPTCP doesn't seem to be an option, since WireGuard uses UDP.
Hi Jerome, on a general note MPTCP performs better if you have asymmetric connections. The here suggested solution works good on (slow) symmetric lines as there is no packet reordering or the like.
I guess I could use your script to setup a openvpn multibond (with only one bond), and enable MPTCP in the OS? That setup seems simple, right? I'm not an expert in this domain. The last piece of my puzzle would be for all my computer of my lan to use this VPN to reach internet.
Thanks for your answer.
I am trying to learn to do this, no IT background, exceptI have been using Openwrt/rooster successfully at home for almost 2 years. Started with MOFI, have built a couple, and Cradlepoint cba850.
Now, i have 2 rpi4's trying to vps from my brothers house in the city, looking at openmptcrouter but I just havnt figured it out yet. The openmptc image is on the rpi4 but I don't know how to use it. Yet. In USA.
Hi James - many thanks for your feedback! Let me know how it goes with openmptcprouter - dont forget that you need a multipath enabled kernel on the VPS for openmptcprouter- you might need to compile it... The solution that I suggest uses UDP and can be used with standard Linux - I‘ll work on an OpenWrt alternative as well.
amazing thanks
Thank you very much !
Hi Marc, we’re building a similar service .. and would love to work with you .. what’s the best way to reach you
Hi Shivanath, you can contact me on Reddit, Facebook or join my discord server.
Thx for the video
You're welcome Jakub - Many thanks for watching ! ;-)
Talk about resiliency
Hi Alfonso - Resiliency and Availability are in my pipeline of videos to make. I will be looking into options like MWAN3 etc. very soon
I want a vps server.plz give me link where I can buy and rent for the server.I am very much excited after watching your technical video & I want to make this for me
Hey, many thans for your comment. I am a vendor-independent hobbyist and do not recommend specific vendors. But if you check the comments below then I am sure that you can find one that suits you - the other folks might have recommendations for you as well..
Great video Marc! I would like to go with option 5 of deploying it on Pi 4 and use multiple Wifi adapters ... may be 4 of them using USB adapter, 1 using Ether and 1 built in. 1 of them should be AP so max 5 in, 1 out. During COVID 19 situation, not able to get any ISP to provide more than 5mbps in my area. So seriously thinking about it. I have 2 ISPs, and 2 phones/hotspots that I can use.
Thanks Nitin, outstanding feedback! It‘s true I haven’t thought of the Pi4 that much yet but it does have great connectivity - I am currently thinking about making this for Openwrt in a first next step but I do need to do more with the Pi anyhow - so I might give this a shot. D*ng 5 Mbps is bad - but many people in my family have the same situation.... can you get 3G or 4G as a second line or do you have a second wire?
@@OneMarcFifty yes, we can go for 2-3 sim cards since those are cheap and provide 4-5mbps max
Thanks a lot - I am definitely planning a separate video about 3G/4G reception with yagi antennas - I managed to improve things around 60-70% like that. If you go for mobile connections however and use the same cell and provider the improvement might be lower though - if you can, use different providers.
Hi Marc and nitin I tested this on rpi 3 and today am gonna test it with rpi4. And I let u guys know,
Nice and very useful video marc👍
@@mohammadahsanali9289 Am testing on rpi4 only ... works.
Hello,
Great video, ive been looking for something like this, that will support voip, and vpn support to my network in the states. Im currently running an openvpn access server, with a raspberry pi on this end. It works "ok" but needs more bandwidth. Speedify almost filled this until, finding out they dont support openvpn on theyre network. Thanks for the project. This is what ive been looking for. Ill let you know my results.
JB
Many thanks for your feed-back!!! Please keep us posted about your findings!
Hi im trying figure out how i can bond 4 LTE 1gig connections locally and get at least 3gig out. is it posible just host vpn locally and do bonding locally?
You mean without a VPS? No, that won’t work. Also - how do you get 1gb over LTE? I’ve never seen that.
@@OneMarcFifty in finland we have 1gig lte(5g) connection for 40euros. I got part how i can multi sim with pci card and share Internet via spf port to switch but bonding is the issue atm im trying figure out if i would get internet via sim send it to vpn and it would Bond it and send me back gona suffer alot of speed and latancy. Living in Village where 1300ppls living only way get internet vie Lte becous tower is 500meters away from me no fiber no cable
interesting , Thanks for video, we would really want to know about how bonding algorithm is working? what about overheads?
Many thanks for your reply, we will have a closer look at the technical details in the next episode, however we will focus more on routes, rules and tables. The algorithm as such can be changed by adapting the value in /proc/net/bonding/bond0 (see www.tecmint.com/network-nic-bonding-teaming-in-debian-linux/2/ for explanation). The overhead is basically the normal VPN overhead, plus serialization for bonding plus encryption. So depending on how you encrypt and how low your MTU is it can become quite high. I haven't measured it in detail, but I'd estimate 10-20%.
IN ORDER TO CHANGE THE BONDING MODE USE THIS: /etc/openvpn/stopbond.sh && ip link add bond0 type bond && echo 5 > /sys/class/net/bond0/bonding/mode && /etc/openvpn/startbond.sh && cat /proc/net/bonding/bond0 (change 5 to any pf these values :
mode=0 (Balance Round Robin)
mode=1 (Active backup)
mode=2 (Balance XOR)
mode=3 (Broadcast)
mode=4 (802.3ad)
mode=5 (Balance TLB)
mode=6 (Balance ALB)
@@OneMarcFifty Thanks
Can you please do the implementation to your parents home? I also live in a rural area with the exact same problem. Same speeds and no other options to buy better internet.
Hi, many thanks for your comment. Unfortunately that is not possible at the moment due to the situation, but I think I'll implement a 4G solution, possibly with OpenMPTCPRouter which we will have a look at in the next videos
Can it be done with WireGuard? I was able to connect rpi and an avm Fritzbox!4040 with OpenWRT via VXLan (layer 2) protocol using wg0 ips as adresses. Speed though was dependent on my server's upload speed which was only 10Mbps.
I am afraid that it can’t be done with Wireguard as it is layer 3. But you could have a look at MPTCP/Openmptcprouter or MLVPN
thank you so much.
I would be interested in seeing the implementation with a Yagi at your parents home.
Hi Roger - it’s coming closer - as soon as the weather is better and covid is over!
Please sent 4g/lte bonding solution
Hi jatin, this solution can be used with 4G/LTE connections. I assume you refer to my call of action - there will be a separate video very soon on boosting LTE/4G connections but it will probably not use bonding however ;-)
Would this solution also provide seemless failover or high availability?
There are different modes of operation (parallel, fail over and the like). Please do also have a look at OpenMPTCPRouter
Nice
Thank you
Hi Marc,I assume this would work with a linux machine only ? Would there be a way to port it for a Windows 10 PC , sort of like an open source "speedify" equivalent ?
Cheers and thanks for sharing the knowledge !
It might be possible - I don’t know. I just did it in Linux because you can do everything with the system tools rather than having to write an executable or driver