Hi folks, I’m just getting into this hobby thanks to the posts in this community. So far, I’ve installed Ubuntu server 22.04 on an old laptop and got paperless working, and I’m pretty pumped. Now I would like to access it outside of my home network on my phone.
I have a Netgear R7000 with Advanced Tomato installed. Here’s my plan, but I don’t know if it would work… So I’m hoping for a peer review of sorts.
- Get openVPN working on the router as a server.
- make a certificate for my phone and use it as a client.
- use my fedora laptop as the CA (?).
I think I need to use easy-RDA to make the keys and certificates…
Does that sound about right? It’s this a good approach or is there something better/easier/more effective?
If there’s a great tutorial around for accessing the home network externally, I’d super appreciate it. Would obviously prefer to do it myself and not pay for a service… I’ve been enjoying the learning experience!
Tailscale
That’s the only word you need. Ultimately, traditional VPN is outdated and almost obsolete. Wireguard is the “next iteration” of network tunneling tech. And Tailscale just makes it super simple.
Omg its seems its working with cgnat, ill give this a try
Really, wow ok. Someone recommended that in another post, and I thought there must still be some value to doing it myself.
So does all the traffic go through tailscale? I gotta watch a YouTube video…
The traffic goes through a wireguard connection. Tailscale is just a facilitator to initiate the connections. There’s more to it than that, but that’s the basic gist of it.
The core technology is wireguard, and you could set everything up yourself, but plain wireguard can be a chore and pain to get all setup. Tailscale is honestly 5 minutes to get a basic connection going.
I’ll pitch ZeroTier instead, it’s the same concept, but it’s more FOSS friendly, older, doesn’t have the non-networking “feature bloat” of Tailscale, and can handle some really niche cases like Ethernet bridging (should you ever care).
Just:
- Go to their website, create an account, and create a network
- Add ZeroTier to the devices you need to connect
- Enter your network ID on those devices
- Approve the devices in the web control panel
If you want to go full self hosting, you can do that too but you will need something with a static IP to control everything (https://docs.zerotier.com/self-hosting/network-controllers/?utm_source=ztp) this would replace the web panel parts.
You can also do a LAN routing based solution pretty easily using something like a Raspberry Pi (or really any Linux computer).
How secure is zerotier in your opinion?
This is a very good read https://blog.reconinfosec.com/locking-down-zerotier
TLDR: Used at hacker conference Defcon 26 in a blue team (defense team) capture the flag.
I think it’s pretty secure and it will be getting better soon. In reality, I think it’s much more secure than what most people will end up with otherwise.
ZeroTier is open source, long running without incident, and the traffic is encrypted between peers.
The threat model is basically two fold though, in theory someone who has control of the ZeroTier roots (if you’re not using your own controller, if you’re using your own, then s/their roots/your roots/) could add routes to your devices, and add/remove devices that are part of your confirmation.
The encryption also doesn’t currently have perfect forward security, so if there’s a compromise in one of your connections, in theory some past state of that connection could be decrypted. In practice, I’m not sure this matters as traffic at a higher level for most sensitive things uses its own encryption and perfect forward security (but hey maybe you have some software that doesn’t).
The other thing I will note about that last point is that they’re working on a rust rewrite that will have updated crypto, including perfect forward security.
Thank you for the write up! Very helpful.
The use case I was wondering about is batch printing from a cloud solution. The print batch files could be encrypted, but I work with multiple solutions and I’m not confident that all of them encrypt those files. If it’s possible to crack old batches, that could expose sensitive information.
If you send these files over SSH, you’re good as that’s encrypted by ZeroTier and then encrypted again inside the SSH connection (and SSH does have perfect forward security).
See their cryptography section of their docs for more info.
You can read more here about what they’re working on:
- https://www.zerotier.com/blog/research-notes-on-2-x-cryptography/
- https://www.zerotier.com/blog/research-notes-aes-gmac-ctr-siv/
It’s been to long since I’ve read that to give anything more than a condensed “they’re improving their crypto significantly with ZeroTier 2” (not to mention memory safety via Rust).
How is it FOSS if they are asking you for a login? If traffic from your devices even touches their servers, you don’t know what is happening with it, and the entire process turns into a black box
FOSS just means the software is open source. As I said, you can self host ZeroTier and not involve their servers (if you’re not doing things commercially, you pay for the license but still run your own controllers, or you use an older version which has been automatically relicensed by the change date to Apache 2.0).
That said, the traffic is peer-to-peer, in the majority of use cases there servers are acting as a bit more than syncthing’s servers (acting to facilitate the connection between two devices that want to talk together). See the other comment for some more thoughts here.
Big thanks to everyone that replied. Message received: ditch openVPN in favour of wireguard :-)
Uhm, status update: I just signed up for tailscale, and I’m able to access my home server after about 2 mins from first logging into the tailscale website. Wow…you guys weren’t kidding 🙃
So what should I do next?
Nas, Media server, device auto backups to nas, game server, chatgpt instance, Lemmy instance, a website, wiki, nextcloud, pihole, or home assistant.
If you intend to collect/store data or make more servers, a nas would probably be a good idea to have.
Ok, I have an incoming Lenovo M93P SFF to upgrade my really old laptop as a server, so your list will be super helpful. Thanks!
I know it’s been mentioned before - but plain Wireguard is my way to go. KISS - keep it simple, stupid! setup might be a little bit of a learning curve, but once you got it for one device, others aren’t a big issue.
I had a CA, with OpenVPN, but that’s to much for a small setup like remote access to your home network.
Use it on iOS, Ubuntu and Windows to access my home services and DNS (Split-Tunnel).
It’s a pretty easy setup on OpenWrt. A quick look into the fresh tomato wiki tells me, that it shouldn’t be to complicated to achieve on your router (firmware). If you need help with setting Wireguard up, let me know, I’m happy to help out.
deleted by creator