this post was submitted on 05 Nov 2023
48 points (96.2% liked)

Selfhosted

40149 readers
771 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hello I've been using cloudflare to get remote access for the couple apps I selfhost, but lately I've been hearing about the wonders of tailscale.

It seems that the free tier is enough for my use. Which would be a safe option to have remote access for my 3D printer? Also how are both in terms of privacy?

top 41 comments
sorted by: hot top controversial new old
[–] axzxc1236@lemm.ee 11 points 1 year ago* (last edited 1 year ago) (2 children)

Tailscale server can also be self-hosted, look into headscale.

~~From my own experience, I still can't setup headscale on my Android phone, I think latest tailscale APP fucked up setting custom server function.~~ Don't install from Google Play

[–] breezelbub@l.shoddy.site 2 points 1 year ago (1 children)

been using headscale + android ts app for a few months now, no issues. i get the app via fdroid.

[–] axzxc1236@lemm.ee 5 points 1 year ago

Installed from F-Droid and it works without issue, thanks

Thanks! That sounds exactly what I've been looking for. Will try it out and if it's too complicated I will use Tailscale.

[–] PeachMan@lemmy.world 11 points 1 year ago (1 children)

If it's just you, and you're willing to install it on all your devices, Tailscale is the best option IMO. If you need to share things with others, use CF Tunnels.

It's mainly just for me and my wife, I guess I can set it up for her.

[–] EncryptKeeper@lemmy.world 8 points 1 year ago (1 children)

Tailscale. Because it can do both. It functions as a mesh VPN for private access, but it also has Tailscale Funnel which does the same thing as Cloudflare tunnels but you don’t give all your traffic to Cloudflare

[–] keyez@lemmy.world 2 points 1 year ago (2 children)

Is there a specific reason tailscale having all the same traffic opposed to cloudflare is a better option? I use cloudflare tunnels right now and figured them handling some of the data is better than me by myself.

[–] EncryptKeeper@lemmy.world 1 points 1 year ago (1 children)

Well like... if you’d rather put your data in the hands of a company instead of your own when you could easily do the same thing yourself, why are you self hosting in the first place?

[–] keyez@lemmy.world 3 points 1 year ago (1 children)

Just my two cents I'd prefer my traffic going through Cloudflare vs Tailscale if it's all the same, since I've heard a lot about Tailscale but know nothing. I've interacted on Github threads with people from cloudflare and they're all super nice and their blog posts and post-mortems are very insightful. Was curious to see if people had actual insight but appears it's just auto cloudflare = bad.

[–] EncryptKeeper@lemmy.world 2 points 1 year ago

That’s the beauty of Tailscale, you don’t have to trust them, because they don’t MITM your data, unlike with Cloudflare. I’m sure the employees of Cloudflare are nice, but so are the employees of any company, good or bad. It’s not that Cloudflare is necessarily bad, but you’re putting them in a position of trust over the content of your data you send through them, as opposed to trusting no one.

I’m sure most of the people who work for Google are very nice people, but people still switch to self hosting for the privacy and control over their own data, and the same goes for Cloudflare.

[–] brakenium@lemm.ee 1 points 1 year ago

Tailscale shouldn't be getting your data anyway. It's a mesh VPN that directly connects devices after their auth server gives out certs and let's clients know where to find another. If you're not comfortable with using their server for this I'd suggest you look into the open source headscale server. I do remember it routing through their server in the rare case NAT punching doesn't work

[–] Zoidberg@lemm.ee 7 points 1 year ago

I like tailscale and have been testing it for a few months. I'm also using headscale as the control plane.

Unfortunately the android client is somewhat unreliable. It works most of the time but once in a while, connections to your tailnet will fail for a bit and require retries. If you ping a machine in your tailnet during this problem, it will show packet loss and then start working after a few pings. This unfortunately makes it difficult to have a reliable split DNS setup.

I've done everything to try and understand what happens without success. It seems like state is lost somewhere and a few packets flowing will fix it. Running a constant ping from Android to my tailnet "fixes" the problem, but is not a great workaround.

Just something to keep in mind before you jump headfirst.

[–] state_electrician@discuss.tchncs.de 6 points 1 year ago (1 children)

You can just self-host Wireguard on an always-free Oracle cloud machine (or of course any other cloud host). It's quite easy to set up and there are open source Wireguard UIs and clients for any OS. I will never rely on a company like Tailscale or Cloudflare for something like this.

[–] lud@lemm.ee 0 points 1 year ago (1 children)

That wouldn't help with accessing their home network.

I would use wireguard at home for this, but we have CGNAT so that is impossible/hard so I just use tailscale, which uses WireGuard anyways.

[–] Raisinbrand@lemmy.dbzer0.com 1 points 1 year ago (1 children)

Yes it would. If wireguard is hosted in a vps, they can setup a client on their home network and mobile device, bypassing their home and isp nat.

[–] lud@lemm.ee 1 points 1 year ago (1 children)

WireGuard wouldn't work with CGNAT. The two servers can't connect. I can't get it to work anyways.

If it weren't for CGNAT, are you saying that OP could connect all their servers to the VPS using WireGuard and then OP could connect to the VPS? In that case it seems easier to just host a wireguard on one of the servers at home and I highly recommend doing that if you don't need to deal with CGNAT.

I think you could host your own Tailscale server on a VPS and then use tailscale on the servers and your client computers/mobile to bypass CGNAT. That's basically what I am doing right now, except I haven't hosted my own Tailscale server.

[–] Raisinbrand@lemmy.dbzer0.com 1 points 1 year ago (1 children)

I think you have a misunderstanding about wireguard clients.

As long as the server isn't behind a cgnat, a connection from the client to the server can be made. It does not matter if the client is behind a cgnat or not. If that were true, privacy vpns like proton and mullvad would not work.

That said, tailscale is easy to setup compared to a wireguard tunnel, but wireguard has potentially more performance because tailscale uses wireguard-go rather than wireguard kernel.

[–] lud@lemm.ee 1 points 1 year ago (1 children)

I haven't tried reversing it like that, but I was under the impression that there were no specific servers or clients in WireGuard land and that both devices had to connect to each other and authenticate.

I have never really thought about how the servers of VPN providers are supposed to work if this was the case.

I guess I just got confused when I tried setting it up someday.

I haven't benchmarked it personally but apparently tailscale and WireGuard are very similar in performance due to optimization done by tailscale. I think they wanted to push the improvements upstream but I am not sure if that happened or if it's still waiting.

[–] Raisinbrand@lemmy.dbzer0.com 1 points 1 year ago (1 children)

I believe performance is situationally dependent, so it may or may not be faster, but it theoretically is. I personally choose wireguard over tailscale because it's one less 3rd party involved, not for potential performance increases.

[–] lud@lemm.ee 2 points 1 year ago

That's fair. I use Wireguard somewhere else for the same reason.

[–] Decronym@lemmy.decronym.xyz 5 points 1 year ago* (last edited 1 year ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
CF CloudFlare
CGNAT Carrier-Grade NAT
DNS Domain Name Service/System
HTTP Hypertext Transfer Protocol, the Web
HTTPS HTTP over SSL
IP Internet Protocol
NAS Network-Attached Storage
NAT Network Address Translation
SSH Secure Shell for remote terminal access
SSL Secure Sockets Layer, for transparent encryption
TCP Transmission Control Protocol, most often over IP
TLS Transport Layer Security, supersedes SSL
VPN Virtual Private Network
VPS Virtual Private Server (opposed to shared hosting)

13 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.

[Thread #262 for this sub, first seen 5th Nov 2023, 06:50] [FAQ] [Full list] [Contact] [Source code]

[–] Moonrise2473@feddit.it 4 points 1 year ago

Why not both?

I use tailscale for full access to network and cloudflare tunnels to specific access to a service

[–] netchami@sh.itjust.works 4 points 1 year ago

Definitely Tailscale

[–] flappy@lemm.ee 4 points 1 year ago (2 children)

Cloudflare hates VPNs, so when it comes to privacy, it's not really a contest.

[–] hottari@lemmy.ml 2 points 1 year ago (2 children)

Cloudflare ironically has a VPN-ish service that no one talks about called Cloudflare Warp.

[–] kionite231@lemmy.ca 1 points 1 year ago

I sometimes use it to access piratebay since it't ban where I live.

[–] varsock@programming.dev 1 points 1 year ago* (last edited 1 year ago)

WARP (a client) just connects you to CF's network.

If your server is running cloudflared (an outbound-only tunnel) then you can enroll your WARP client to reach your server, while your server is never accessible on the public web. That's the principal behind Zero Trust.

While techinically yes, WARP can be considered as a VPN, it is just a secure tunnel to an endpoint. In which case you can argue any point-to-point tunnel is a VPN.

[–] capital@lemmy.world 0 points 1 year ago (1 children)

Wait, what’s this about them hating VPNs?

I guess they mean that you get to solve many Captchas if you access Cloudflare-protected sites through a VPN.

Tailscale also has the advantage that you easily access udp services, the last time I checked this was not really possible with cloudflare tunnels

[–] nutbutter@discuss.tchncs.de 3 points 1 year ago

You may want to check this out. This articles also explains TLS-termination and TLS-passthrough.

[–] BastingChemina@slrpnk.net 3 points 1 year ago (2 children)

What I enjoy with tailscale is that the traffic goes directly from the host to the client.

Since there is no cloud relay I can connect to all my services via tailscale, even on local network and it's not going to impact the speed.

This way I only have one setup that works the same way on local network or remotely but still have the local network speed when I am at home.

[–] varsock@programming.dev 1 points 1 year ago* (last edited 1 year ago) (1 children)

discovered tailscale from this post and after reading their "how tailscale works" I was hoping to get some clarification from an activer user (you).

CF tunnels setup an outbound-only tunnel from my private network via cloudflared, I have no ingress holes in my firewall to access my services. cloudflared does all the proxying. Plus my IP changes monthly as I don't pay for a static one from my ISP. This "outbound-only" connection is resilient to that.

Tailscale is point-to-point (for data plane) connection and only the control plane is "hub and spoke". This sounds like I need to allow ingress rules on my private network so my server can be connected to? Is this true or where did I misunderstand?

[–] BastingChemina@slrpnk.net 1 points 1 year ago

I'm probably not the beat person to answer to you about the technical aspect and I'm not sure if I fully understand your question.

However I can tell you that there is no need to change anything at network level for tailscale to work.

I've installed and used tailscale on desktops, VM, raspberry, NAS or smartphone on plenty of different network, I've also remotely guided people to install tailscale on their machine at home and it always just worked. No issue at all and nothing to change on the network for it to work.

That's amazing I thought it would slow down on lan. Since myy upload speed is really slow.

[–] LunchEnjoyer@lemmy.world 2 points 1 year ago

Tailscale Funnel and Serve will also let you point services to the public. I only use tailscale for all of my access needs and it's perfect and easy to handle 👌

[–] sntx@lemm.ee 1 points 1 year ago

I'm suprised nobody mentioned nebula: A scalable overlay networking tool with a focus on performance, simplicity and security.

I've been running it for about two years on multiple machines and it worked flawlessly so far. Even connecting two hosts, both behind mullvad-vpn tunnels.

The only downside is, that you have to host your own discovery server (callled "lighthouses"). One is fine, but running at least two removes the single point of failure from the network.

[–] possiblylinux127@lemmy.zip 0 points 1 year ago* (last edited 1 year ago) (1 children)

Neither, I setup a VPS and wireguard. I also use netbird for some things that aren't publicly accessible

[–] state_electrician@discuss.tchncs.de 1 points 1 year ago (1 children)

Do you mean Wireguard? I couldn't find anything called Fireguard.