[NOTE] This part 4 in a series of posts. The rest can be found here.
So, this week I went in a completely different direction that I have been thinking recently…
So, the basic theory is as follows:
- I am still using MPTCP kernels on both upstream and local machine
- now have 2 P2P UDP OpenVPN tunnels between house and cloud. Example config is here
- all TCP traffic (bar port 80) that hits the router in house is redirected to RedSocks
- RedSocks uses a socks server, Dante, as an upstream server on the cloud box
- since the socks traffic is over TCP (inside the UDP OpenVPN tunnel) it uses MPTCP
- having socks running, gives me quite the download speed, turning it off does not, hence the following tweet
Hmmmm… If I have socks on, the Internet is fast 400mb/s+). But without socks, it's down to 60… Feck…
— Tiernan (@tiernano) April 13, 2016
- I am also noticing that I am starting to hit the limits of my upstream VM. If downloading or uploading at speed, the processor cores (2 in the case of the box I am currently running) are pegged at pretty much 100% full… Well, 80ish, but that because the other 20% is being used by Dante. I am noticing I can hit a full 72Mbit/s up, but the max currently downloading is about 400, maybe 450… Need a faster box now…
- I mentioned port 80 not being set over socks. That’s because its redirected to Squid. Squid (in house) then uses Squid (in cloud) as a parent. There are 2 round-robin parents for squid, one on each OpenVPN connection IP address.
- all other traffic (UDP, ICMP, etc.) are sent over the OpenVPN connection… currently only one is picked, but I have a cunning plan…
The cunning plan? Well, if I am reading the internet correctly, and I would like to think I am, I think ECMP, or Equal Cost Multi-Path Routing, could help… Again, it’s a fledgling idea currently, and I am still reading the documentation, but if it works… Well… I not sure… let’s see…
---
This site is hosted on my own ASN on AS204994. More details about that over there. I also use Vultr for transit services and HostUs for LIR Services. Check them out. You can also check some of the gear I use on a daily basis over on kit.co/tiernano. Looking for a Backup Option? Check out Backblaze and get a month free.