I feel this is a trap...
just_another_person
Tailscale is for point-to-ooint connections between locations, so yes a VPN. That doesn't mean two machines on a local network should be using it to talk to each other. Let me explain a bit:
Say you have two machines on two different networks 100 miles apart. You put those two on Tailscale, that virtual interface sends traffic through their servers and figures out the routing, and then they can talk to each other...cool.
Now move those two machines to the same network and what happens? Tailscale sends their traffic out of that same virtual interface and THEN brings it back into the network. Sure they can still talk to each other sort of, but you're just skipping using your local network. Doesn't make any sense.
This is because of "default routes". Whenever you plug a machine into network with a router, that router sends along information on where this machine needs to send it's traffic to get routed properly. Usually whatever your home router is. This is the default route.
Once you bring up the Tailscale interface without proper routing for your local networks taken into account, it sets your default route for Tailscale endpoints, meaning all of your traffic first goes out through Tailscale, and you get what you're seeing here.
Regardless of what you read around and on Reddit, Tailscale is not as simple as it seems, especially if you don't know networking basics. It's meant to be used with exit node endpoints that route to a larger number of machines to prevent issues like this, NOT as a client in every single machine you want to talk to each other. I see A LOT of foolish comments around here where people say they install it on all of their local machines, and they don't know what they are doing.
To my point: read this issue to see someone with similar problems, but make sure to read through the dupe issue linked for a longer discussion over the past number of years.
Extra thread here explaining some things.
This blog goes deeper into a possible solution for your setup.
The simplest solution for Linux is usually just making sure to NOT run Tailscaled as root, just as your local user. This should prevent the global override of your machines default routes in most cases, but not all.
The proper and more permanent solution is running Tailscale on your router and letting that single device act as an exit node and handle advertising the proper routes to clients through the DERP server translation.
Also, see the netcheck docs as it can help quickly debug if things are working properly or not.
Well a 6-7X improvement is something, but you still see the Tailnet running there.
Honestly, if you don't know networking and routing, don't mess with Tailscale. It breaks shit like this for all these people who don't know what they're doing who are doing things like installing it on all their local machines because they have no idea how it's used or it's purpose, and it's clearly your problem right here because both you, and your tailnet are confused.
I know for a fact your containers are ALSO running Tailscale or something equally not good, because you've definitely got a polluted routing table from local route loops, and you're confused as to what that is, how to prevent it, and why it's broken.
- Shut it down EVERYWHERE ON YOUR LOCAL NETWORK.
- Make sure your default routes only point to LOCAL ADDRESSES
- Recheck your transfer speeds which should be 100MBytes/s+
Why is your iperf run referencing a local 100.X address then?
That doesn't look right. What are the two IP's of the machines on your network?
Edit: you must be using containers or something. Don't use bridge networking if you're unsure of the performance issues there.
This is incredibly confusing and formatted oddly, so let me get some clarification:
- What protocol are you using to mount the NAS to the Ubuntu machine?
- What did you use to transfer this slow file over the network? The disk transfer rate would be much faster than the network in any case, so 160MB/s may just be the network max.
- Have you tried other files and methods to transfer, like SSH, Rsync...etc? Try those and post the speeds.
I would steer clear of just getting something from Kickstarter. Just go for something solid with an existing community. Synology is good for beginners, or you could just build one and install the NAS OS of your choice like TrueNAS or OMV.
Lots of claims in here, but no specificity. I can tell WHAT they are selling: the hardware, or a software platform.
I'm also confused because they seem to missing the mark of what a useful piece of tech is for home users. Having everything all-in-one just compounds single points of failure. Also super confusing why they're mentioning LTE and Starlink into this...makes it seem pretty stupid.
Honestly, if you're just getting started, grab a cheap refurb from the Minisforum store, get a stack started and figure out what you actually, then make more informed decisions from there.
If you're planning on hosting a large media collection, you probably want a NAS, which can also double duty for the other things you want to do as well in most cases if it supports running containers.
Don't use "echo". That's akin to saying "Print everything after this echo command to the terminal", so it's just outputting the stuff after echo as if it were text.
Use Terraform + Cloudinit scripts if you're using a cloud platform, and make sure you version everything or use Packer to make versioned images.