What are your VPN recommendations for accessing self-hosted applications from the outside?
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
wrote last edited by [email protected]I rarely if ever see ZeroTier mentioned as a solution, but it's a self-hostable encrypted virtual mesh network (with a small free tier for corp-hosted), super secure, and really easy to setup. I use ZTnet instead of the free-tier corp-hosted controller
-
I didn't say you need it. I strongly recommend the as a provider.
Please do enlighten me how you use Mullvad to access you self-hosted services in your home? Like OP asked for.
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
My Asus router has a a few nice ones
-
My Asus router has a a few nice ones
This is a pointless comment. You don't even tell us what model router you're running...
-
Zero tier. I went tailscale originally, and they're good, but their mdns support doesn't exist and several services rely on it. (For me, the showstopper was time machine backups)
huh. I knew there was a reason for me to go back to ZT. mdns, you say? Nice to know!
-
I'm in camp #2. Only my Gmail address can access my apps from outside my home. It's a little bit of a pain to configure the rules, but once it's done it's done. I've been happy with it.
You do need to have a domain name though.
pretty cheap to get a domain name through Cloudflare too - nine bucks a year for a .com , I think? Just get something completely personal or completely random!
They even have a way to get emails routed to your general inbox. It's fugly, but it works! -
The variant version of number 2, which is more work to set up of course, is Pangolin on a VPS. Basically serves the same purpose but skips Cloudflare entirely.
I'm in the process of setting up Pangolin and Headscale on a VPS to expose a small handful of services and to replace my wg-easy setup. Currently chaining wg-easy through a gluetun container, so with a single VPN connection I get LAN access and protect my outbound traffic, but I can't for the life of me get the same setup working on wg-easy v15, so I'm going to give tailscale/headscale a try with a gluetun exit node.
haven't looked at Pangolin, but thanks for the info! I might explore it in the future if my current setup gives me any issues.
-
Agree, highly recommend this and/or Tailscale.
wrote last edited by [email protected]Double-pro. Running wireguard on docker assures that a native wireguard install won't conflict with docker. Keep those iptables in the same place.
-
Zero tier. I went tailscale originally, and they're good, but their mdns support doesn't exist and several services rely on it. (For me, the showstopper was time machine backups)
wrote last edited by [email protected]I like zerotier over wireguard because it's one layer lower. So anything that uses Ethernet frames can be routed over it like it was a network switch plugged into your computer. This is probably why mdns works.
-
Double-pro. Running wireguard on docker assures that a native wireguard install won't conflict with docker. Keep those iptables in the same place.
I thought I would be the only one to try this. Would you share more details on your setup? I am interested because to me Wireguard is in the kernel so how could it be in a container.
-
Headscale is an open source implementation of the Tailscale control server.
https://github.com/juanfont/headscale
Not an endorsement as I haven't used it (I do use Tailscale), but just thought I'd point it out.
I use headscale and it's been working wonderfully for my nightly offsite backups and remote access.
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
Wireguard with WG Tunnel on my phone so it automatically connects when I leave my WiFi. Some Apps excluded to use it like Android Auto because it doesn't work with an active vpn.
-
For the vps, will you go with a provider like digital ocean?
I went with a Racknerd debian 12 box, DigitalOcean is a bit overpriced for what you get. There's a whole list of recommendations in Pangolin's wiki iirc
-
haven't looked at Pangolin, but thanks for the info! I might explore it in the future if my current setup gives me any issues.
Getting it up and running was pretty easy but admittedly I'm starting to hit some snags with split DNS and Authentik. Totally doable but taking a lot of work for sure.
In the process I'm also moving my entire domain to a different name and got timed out by letsencrypt lmao so I guess I'll try some more tomorrow.
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
WireGuard is the fastest method, it’s free, there is no reason not to use it.
-
My Asus router has a a few nice ones
- pretty much any modern asus routers with a mesh setup and if you run merlin it has more security features.
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
In that case, wireguard. I only occasionally need to access a service that's not exposed to the internet, so I use
ssh -L
, but that would be quite inconvenient for your own use case.I know tailscale exists but I've never used it, only tried wireguard on its own. Maybe there's some huge benefit to using it but wireguard worked fine for me.
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
Not running anything myself but am part of a self hosting discord that swears by Netbird because its basically Tailscale but with a bunch more ease of use features apparently
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
There's no magic bullet here. If you want good defense against bots you should use fail2ban and/or crowdsec. Geoblocking is also worth looking into. You will always have to open a port if you are selfhosting a VPN and will need to take aforementioned steps (or alternatives) to secure it. I believe Tailscale is a very good alternative for people who don't have time to do this as it does not (to the best of my knowledge) require you to expose a port.
I use Netbird (open source networking software from a German company) as it integrates well with Authentik and allows me to use the same SSO for VPN and most of my other services. Setting it up with Authentik and Nginx is a bit complicated but very well documented in my opinion. I do not have a positive experience of the official Android client but Jetbird is a nice alternative. Setting up DNS servers and network routes through peers is quite easy. Enrollment is also a breeze due to the Authentik integration.
-
I like zerotier over wireguard because it's one layer lower. So anything that uses Ethernet frames can be routed over it like it was a network switch plugged into your computer. This is probably why mdns works.
wrote last edited by [email protected]Do you test public WiFi with ZeroTier at all?
I ask because there's a few public networks where WG won't connect and I'm trying to find ways around it. I could always use cell data but this is more fun to me.