Please visit my channel page: ruclips.net/channel/UCG5Ph9Mm6UEQLJJ-kGIC2AQ 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?
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 ;-)
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?
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.
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/
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.
Потрясающая находка! Как тяжело найти такого профиля канал на "youtube" ((((( - приятный человек; - отличная дикция; - подробное обьяснение - каждого шага или действия, даже новичок - когда будет это всё реализовывать у себя на "PC" не увидит - ERROR -WORNING -AAAAA Mother help .... а если даже появится какая - либо ошибка, то в инструкции к видео - будет описано, как решить проблему!! 100\100 Спасибо за старание и качественный материал! После первых минут, просмотра ролика - лайк/ -подписка/ -колокол ! Весь вечер смотрю ваше видео)))) Ещё раз, Спасибо!
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 😉
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.
@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.
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.
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.
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
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.
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 😉
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
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?
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 ;-)
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.
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. ruclips.net/channel/UCG5Ph9Mm6UEQLJJ-kGIC2AQ
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.)
I know its old video but I like it. What I would like to see is to use my openwrt (with wireguard) to automate this process of bonding multiple connections ant build it with popper resiliency, to avoid checking every connection every time ;) Maybe I'll find this in newer videos
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 😁
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.
Hey, I'm facing a small error while starting the bond script on the VPS machine at 9:46 The 2 tap devices are opened successfully but when it comes to the last line in startbond.sh, I'm getting this error Bad argument `MASQUERADE' Try `iptables -h' or 'iptables --help' for more information. I'm using Ubuntu 20.04 on the VPS machine, the firewall is managed by AlibabaCloud and also iptables isnt running on this machine. Can you help me out please? Thank you
Does your VPS have an IP v4 address? Please run sudo -u nobody curl -s ipinfo.io/ip in order to see what it comes back with. The scripts do not work with IP v6 for the time being.
Thank you for your quick reply, I have entered the cmd and It comes back with the VPS public IP which is IPv4 I tried another VPS from Microsoft Azure and I got the same error.
Ok cool that‘s half the rent;-) if you type ip -br addr | grep xxxxx (replace xxxxx with the public ip4 address from above) - does it give you exactly one line and what is the name of the interface (eth0 or similar)?
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.
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.
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?
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?
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. ;-)
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 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...
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.
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.
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.
I was wondering if its the sam as trunking switchports. Many prosumer hardware switches can do trunk/link aggregation.... What if i have a switch at home where i have my 1Gig fiber line. Then i use 1rpi with 2 network cards as vpn server. To connect to the trunkports on my local switch... on the other end i would use 2 Hotspots that connect to the rpi-vpn at home. And use the 2 network ports of them on the „mobile“ switch. Do you think its possible? Maybe we can try it out togethe for a future video?
Hi Beni, I think this might prove to be more difficult than it looks at a first glance - I had to think this through multiple times. The issue is that we need to bridge L2 devices. In my example that is the TAP devices. Presumably the hardware switches bundle Ethernet devices (so in fact L2 of course) - however, the bond would end at the Ethernet device. You could of course bond 2 lines to the Ethernet device, then go over VPN to another Endpoint and from there pull 2 lines again. But we have a protocol Airgap that is difficult to bridge. In fact we would need to have a virtual _Ethernet_ device bridged over the VPN. I am not aware of any solution doing this. So - sorry., I think it won't work - unless someone has done anything similar please feel free to comment.
@@OneMarcFifty Idk if someone has done it :D my usecase for this would be a VPN-tunnel from my bus to my homeserver for streaming. The idea is redundency not really speed.. Since i have gigabit fiber at home the up/down-link shuld not be a problem... the question is how do i get a rj45 plug in my buss that is redundant to my server.... maybe thats a topic for a video? I would happly provide ma infrastructure and time if it helps :D btw.. ich sprech auch deutsch
Did you mean bus like in schoolbus or public transportation? - I mean a vehicle right? Makes me curious Actually - if you want to chat - do you have a facebook or reddit account ? I am not online all the time but if you ping me there we can talk about this😁
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.
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!
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.
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)
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
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
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.
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
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!
This is great! I am trying to implement the same but stuck in the beginning. I have created a Ubuntu based VM using Virtualbox which I will be using as a client. While creating the VM, under the network section, I used the 'bridged adapter' option and created two adapters:1 for ethernet connectivity and other for wireless connectivity using hotspot. Both of these networks are enabled and working on my host system. However, I am not able to access the internet inside VM using those networks although the connection is shown as 'UP' inside the VM.I can't establish a connection with the host too . Can I get some help on this initial set up?
Hi Marc, an update to the set up I started last week. After installing and setting up the scripts as well as running the startbond.sh script, the bond and tap interfaces were up and created successfully both on client and server side VMs. Now when I try to access the internet ,it says destination host is unreachable, connectivity lost. Not able to figure out where it is going wrong!
@@abhishekgurumath862 Sorry my reply took so long - I have somehow not been notified of your comment.The troubleshooting steps would be as follows : 1. Try to see if you can ping the VPN address of the VPS Server (10.8.0.254) - does that work ? If not, the VPN is not established and/or bonded correctly. Next step, do a traceroute to a server with known IP address (e.g. 8.8.8.8 or 1.1.1.1) and see if it works and if it goes over the VPN bond. If that works, then bonding is OK, If not, then check if ip4 forwarding has been enabled on the VPS by issuing "sysctl -p" - could be that the masquerading rules are not working neither. Next step, see if traceroute works with a host name - if it doesn't then DNS is the problem. Let me know how it goes. Sorry again for the late reply.
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.
Openmptcprouter does not run on small routers, it needs more memory. Raspi or 32M router required. It also needs a Kernel on the VPS that is multipath-enabled. So chances are you need to compile a kernel for it. Furtermore it uses TCP, so stateful. In my experience a VPN runs better on UDP. The goal was to use a standard linux/openwrt and see what we can do with the tools that are „on board“ on any little router.
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.
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
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 😉
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..
@@OneMarcFifty i have spent days trying to setup openmptcp the ncm on two lte cards which never worked due to conflicts. I was awaiting for your new video, i actually subbed for that.
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.
Hi Marc, I tried your solution and it worked (after tweaking your scripts) for 3 wifis together ... but, it didnt give me enough speed given that the VM speed is good enough (more than 300Mbps up and more than 700mbps down). The thing is, I bonded 3 devices ... 1 4G connection giving 1Mbps, 1 4G connection giving 2 Mbps and 1 ADSL giving 6Mbps. Net net ... it gave me max 1.6Mbps :( ... I know, the weakest link played major role. Can we do some tweaking to balance load as per their speed so I will get better results? Say 20% to 4G, 20% to 4G and 60% to ADSL?
Wait ... I shutdown remote VM and even then the bonded network worked :) so, my PC was not talking to remote VM at all .. so need to do some debugging :)
change the value in /proc/net/bonding/bond0 to 5 or 6 (see www.tecmint.com/network-nic-bonding-teaming-in-debian-linux/2/ for explanation). So echo „5“ > /proc/net/bonding/bond0 - that would change the bonding mode to adaptive load balancing - I have never tested this, so I am curious to see if it works. Let me know how it goes!
Apologies Marc I kept bothering you. Now I have fixed openvpn (diff versions at client and server, need to fix VM firewall as well, right now its disabled), but at least my PC is talking/pinging from local bond0 to remote bond0. Question is, why bond0 is not being used for download? Its using some wlan individually to download ... am checking "ip route". But any pointers? Here is output of "ip route" default via 10.8.0.254 dev bond0 metric 1 default via 192.168.43.1 dev wlxd03745a6249d proto dhcp src 192.168.43.130 metric 303 default via 192.168.1.1 dev wlan1 proto dhcp src 192.168.1.10 metric 304 default via 192.168.43.212 dev wlxd0374586d4de proto dhcp src 192.168.43.64 metric 305 10.8.0.0/24 dev bond0 proto kernel scope link src 10.8.0.253 169.254.0.0/16 dev bond0 scope link src 169.254.246.124 metric 238 192.168.1.0/24 dev wlan1 proto dhcp scope link src 192.168.1.10 metric 304 192.168.43.0/24 dev wlxd03745a6249d proto dhcp scope link src 192.168.43.130 metric 303 192.168.43.0/24 dev wlxd0374586d4de proto dhcp scope link src 192.168.43.64 metric 305
I used wget which is not using bond0 for some reason. Used speedtest which used bond0 ... so yes, now its working end to end. Problem is, it gave me speed 0.5Mbps at night. Let me check tomorrow morning if its improved. And will tweak the modes as well.
Please visit my channel page: ruclips.net/channel/UCG5Ph9Mm6UEQLJJ-kGIC2AQ
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 😉
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 ;-)
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 ;-)
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 😉
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?
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
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!
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
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
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.
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.
Thank you so much for explaining the concept, I was looking for exactly something like this, an alternative to Speedify.
Perfect - glad it helped ;-)
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.
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.
Потрясающая находка! Как тяжело найти такого профиля канал на "youtube" (((((
- приятный человек;
- отличная дикция;
- подробное обьяснение - каждого шага или действия, даже новичок - когда будет это всё реализовывать у себя на "PC" не увидит - ERROR -WORNING -AAAAA Mother help .... а если даже появится какая - либо ошибка, то в инструкции к видео - будет описано, как решить проблему!! 100\100 Спасибо за старание и качественный материал!
После первых минут, просмотра ролика - лайк/ -подписка/ -колокол ! Весь вечер смотрю ваше видео))))
Ещё раз, Спасибо!
Большое спасибо за ваш комментарий! Я рад, что вам нравятся видео. И большое спасибо за подписку!
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 ;-)
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 😉
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.
Amazing content , subscribed!
Many thanks !
@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.
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.
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
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
Great video. Keep doing videos like these 👌✌
Many thanks! Will do ;-)
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 !
Thanks for a great video. Very well explained and presented. Thank you for making this. 👍
Thank you very much!
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!
Thanks for explaining and sharing Marc - much appreciated.
You’re welcome Janus, I am glad that you like the video!
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
If you ever read this, You videos are *AMAZING.*
Hi, many thanks for the friendly comment ;-)
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
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 😉
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
i am amazed!, subscribed, amazing!
Idnawsi C tansil I am glad you like the video - thanks for having subscribed!
Awesome, great video and thanks. Subbed and liked.
Many thanks !
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~
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 ;-)
Thanks a lot for this. I will try.
You're welcome - good luck, let us know how it goes !
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.
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. ruclips.net/channel/UCG5Ph9Mm6UEQLJJ-kGIC2AQ
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.)
that's what i need,bravo!
Thank you
I know its old video but I like it.
What I would like to see is to use my openwrt (with wireguard) to automate this process of bonding multiple connections ant build it with popper resiliency, to avoid checking every connection every time ;)
Maybe I'll find this in newer videos
Excellent! Finally a real bonding video ^_^ Thank you so much ~ I prefer OpenWRT
Thank you ;-)
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 😁
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.
Great video, will try it using a Raspberry pi
Many thanks for your feedback! Let us know how it goes !
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.
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 (
Hey,
I'm facing a small error while starting the bond script on the VPS machine at 9:46
The 2 tap devices are opened successfully but when it comes to the last line in startbond.sh,
I'm getting this error
Bad argument `MASQUERADE'
Try `iptables -h' or 'iptables --help' for more information.
I'm using Ubuntu 20.04 on the VPS machine, the firewall is managed by AlibabaCloud and also iptables isnt running on this machine.
Can you help me out please?
Thank you
Does your VPS have an IP v4 address? Please run sudo -u nobody curl -s ipinfo.io/ip in order to see what it comes back with. The scripts do not work with IP v6 for the time being.
Either OUR_OWN_IP or OUR_WAN_INTERFACE probably get assigned a wrong value
Thank you for your quick reply,
I have entered the cmd and It comes back with the VPS public IP which is IPv4
I tried another VPS from Microsoft Azure and I got the same error.
So i don't really know what causing this problem
Ok cool that‘s half the rent;-) if you type ip -br addr | grep xxxxx (replace xxxxx with the public ip4 address from above) - does it give you exactly one line and what is the name of the interface (eth0 or similar)?
Thanks for your sharing
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
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!
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
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?
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. ;-)
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 ;-)
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 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...
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.
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
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.
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
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.
I was wondering if its the sam as trunking switchports. Many prosumer hardware switches can do trunk/link aggregation.... What if i have a switch at home where i have my 1Gig fiber line. Then i use 1rpi with 2 network cards as vpn server. To connect to the trunkports on my local switch... on the other end i would use 2 Hotspots that connect to the rpi-vpn at home. And use the 2 network ports of them on the „mobile“ switch. Do you think its possible?
Maybe we can try it out togethe for a future video?
Hi Beni, I think this might prove to be more difficult than it looks at a first glance - I had to think this through multiple times. The issue is that we need to bridge L2 devices. In my example that is the TAP devices. Presumably the hardware switches bundle Ethernet devices (so in fact L2 of course) - however, the bond would end at the Ethernet device. You could of course bond 2 lines to the Ethernet device, then go over VPN to another Endpoint and from there pull 2 lines again. But we have a protocol Airgap that is difficult to bridge. In fact we would need to have a virtual _Ethernet_ device bridged over the VPN. I am not aware of any solution doing this. So - sorry., I think it won't work - unless someone has done anything similar please feel free to comment.
@@OneMarcFifty Idk if someone has done it :D my usecase for this would be a VPN-tunnel from my bus to my homeserver for streaming. The idea is redundency not really speed.. Since i have gigabit fiber at home the up/down-link shuld not be a problem... the question is how do i get a rj45 plug in my buss that is redundant to my server.... maybe thats a topic for a video?
I would happly provide ma infrastructure and time if it helps :D
btw.. ich sprech auch deutsch
Did you mean bus like in schoolbus or public transportation? - I mean a vehicle right? Makes me curious
Actually - if you want to chat - do you have a facebook or reddit account ? I am not online all the time but if you ping me there we can talk about this😁
OneMarcFifty i have facebook :D. And yes its a bus 12m long 18t heavy that i renovate to a RV :D
Yo!!! That‘s LONG and HEAVY - ping me on facebook messenger please if you can @onemarcfifty
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
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 ;-)
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.
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.
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…
Thx for the video
You're welcome Jakub - Many thanks for watching ! ;-)
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
Olà. One more sub from 🇧🇷 because of this video.
Muito Obrigado ;-)
thanks a lots working for me
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.
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.
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
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
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
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!
This is great! I am trying to implement the same but stuck in the beginning. I have created a Ubuntu based VM using Virtualbox which I will be using as a client. While creating the VM, under the network section, I used the 'bridged adapter' option and created two adapters:1 for ethernet connectivity and other for wireless connectivity using hotspot. Both of these networks are enabled and working on my host system. However, I am not able to access the internet inside VM using those networks although the connection is shown as 'UP' inside the VM.I can't establish a connection with the host too . Can I get some help on this initial set up?
Hi Abhishek, the easiest is probably if you join me sunday on discord
In the meanwhile, check if the VM interfaces get assigned IP addresses and if you can ping the default gateway
@@OneMarcFifty yes!
Hi Marc, an update to the set up I started last week. After installing and setting up the scripts as well as running the startbond.sh script, the bond and tap interfaces were up and created successfully both on client and server side VMs. Now when I try to access the internet ,it says destination host is unreachable, connectivity lost. Not able to figure out where it is going wrong!
@@abhishekgurumath862 Sorry my reply took so long - I have somehow not been notified of your comment.The troubleshooting steps would be as follows : 1. Try to see if you can ping the VPN address of the VPS Server (10.8.0.254) - does that work ? If not, the VPN is not established and/or bonded correctly. Next step, do a traceroute to a server with known IP address (e.g. 8.8.8.8 or 1.1.1.1) and see if it works and if it goes over the VPN bond. If that works, then bonding is OK, If not, then check if ip4 forwarding has been enabled on the VPS by issuing "sysctl -p" - could be that the masquerading rules are not working neither. Next step, see if traceroute works with a host name - if it doesn't then DNS is the problem. Let me know how it goes. Sorry again for the late reply.
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.
I vote for OpenWRT.
Great video thanks.
Hi Andrej, many thanks - it‘s noted 😉
thank you so much.
This is really similar with openmbtcprouter can you make a comparison between the two?
Openmptcprouter does not run on small routers, it needs more memory. Raspi or 32M router required. It also needs a Kernel on the VPS that is multipath-enabled. So chances are you need to compile a kernel for it. Furtermore it uses TCP, so stateful. In my experience a VPN runs better on UDP. The goal was to use a standard linux/openwrt and see what we can do with the tools that are „on board“ on any little router.
@@OneMarcFifty thanks for the reply, i really like your channel,+1 subscriber here. Hope you get more content like single nic computer + mwan3
@@freeman4006 Many thanks for liking and subscribing !!! I'll do more - promise ;-)
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
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.
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
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 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..
Please implement on openwrt! Great work!!!
Hi - Implementation on OpenWrt is probably off as Openmptcprouter does it quite nicely
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!
Hi I would love wireguard with openwrt or raspi addition. Wireguard is much faster.
Hi Gokhan, in the meanwhile it looks like OpenMPTCPRouter is by far the best option as it looks today. Check out my latest video on that.
@@OneMarcFifty i have spent days trying to setup openmptcp the ncm on two lte cards which never worked due to conflicts. I was awaiting for your new video, i actually subbed for that.
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.
Hi Marc, I tried your solution and it worked (after tweaking your scripts) for 3 wifis together ... but, it didnt give me enough speed given that the VM speed is good enough (more than 300Mbps up and more than 700mbps down). The thing is, I bonded 3 devices ... 1 4G connection giving 1Mbps, 1 4G connection giving 2 Mbps and 1 ADSL giving 6Mbps. Net net ... it gave me max 1.6Mbps :( ... I know, the weakest link played major role. Can we do some tweaking to balance load as per their speed so I will get better results? Say 20% to 4G, 20% to 4G and 60% to ADSL?
Wait ... I shutdown remote VM and even then the bonded network worked :) so, my PC was not talking to remote VM at all .. so need to do some debugging :)
😉 besides that bug - what you can do is
change the value in /proc/net/bonding/bond0 to 5 or 6 (see www.tecmint.com/network-nic-bonding-teaming-in-debian-linux/2/ for explanation). So echo „5“ > /proc/net/bonding/bond0 - that would change the bonding mode to adaptive load balancing - I have never tested this, so I am curious to see if it works. Let me know how it goes!
Apologies Marc I kept bothering you. Now I have fixed openvpn (diff versions at client and server, need to fix VM firewall as well, right now its disabled), but at least my PC is talking/pinging from local bond0 to remote bond0. Question is, why bond0 is not being used for download? Its using some wlan individually to download ... am checking "ip route". But any pointers? Here is output of "ip route"
default via 10.8.0.254 dev bond0 metric 1
default via 192.168.43.1 dev wlxd03745a6249d proto dhcp src 192.168.43.130 metric 303
default via 192.168.1.1 dev wlan1 proto dhcp src 192.168.1.10 metric 304
default via 192.168.43.212 dev wlxd0374586d4de proto dhcp src 192.168.43.64 metric 305
10.8.0.0/24 dev bond0 proto kernel scope link src 10.8.0.253
169.254.0.0/16 dev bond0 scope link src 169.254.246.124 metric 238
192.168.1.0/24 dev wlan1 proto dhcp scope link src 192.168.1.10 metric 304
192.168.43.0/24 dev wlxd03745a6249d proto dhcp scope link src 192.168.43.130 metric 303
192.168.43.0/24 dev wlxd0374586d4de proto dhcp scope link src 192.168.43.64 metric 305
I used wget which is not using bond0 for some reason. Used speedtest which used bond0 ... so yes, now its working end to end. Problem is, it gave me speed 0.5Mbps at night. Let me check tomorrow morning if its improved. And will tweak the modes as well.