Setting up a self-hosted VPN takes about fifteen minutes now. WireGuard is in the Linux kernel, the config file is a dozen lines, and a small VPS costs less per month than a commercial VPN subscription. The technical barrier is gone.
What has not caught up is the reasoning. Almost every guide on the subject presents running your own as the strictly more private choice, and that is half wrong in a way that matters enormously depending on what you are doing. For some jobs it is clearly better than any commercial provider. For others it is actively worse, and the guides do not tell you which is which.
THE TRADE IN ONE LINE
A commercial VPN hides you in a crowd but asks you to trust their logging policy. A self-hosted VPN removes the need to trust anyone about logging and takes away the crowd entirely. Which one is right depends on whether your problem is the logs or the crowd.
The thing nobody tells you about running your own
When you connect to a commercial VPN, your traffic leaves through an address shared with hundreds or thousands of other subscribers at that moment. Any observer looking at that exit address sees an indistinguishable mass of activity. That crowd is not a side effect of the service, it is the largest part of what you are buying.
Your own VPN on your own VPS has a dedicated IP address used by exactly one person. Every request that leaves it is yours. Every site you visit, every service you log into, every piece of activity across months is trivially linkable to a single individual, and that individual rented the server with a payment method and an email address.
This is not a small caveat. In terms of blending into traffic, a self-hosted VPN is worse than a commercial one, and it is worse in a way that gets steadily worse the longer you use it, because a single-user address accumulates a behavioural profile that a shared address never can.
Your activity is one thread in a mass of traffic. You trade that for having to trust their logging policy.
Nobody's logging policy to trust. Also nobody to be confused with, and the address is tied to your server rental.
If the reason you want a VPN is to be one face in a crowd, running your own moves you in the wrong direction.
What you get in return is the removal of a trust problem. A no-logs claim from a commercial provider is an assertion you cannot verify. Audits help but they are snapshots, and the industry has produced enough contradicted claims to justify scepticism. On your own server, the logging policy is not a promise, it is a config file you control. That is a genuine and meaningful gain. It is just a different gain from the one most people think they are getting.
What a self-hosted VPN is genuinely good at
Four jobs where running your own is clearly the right answer:
- Securing untrusted networks. On hotel, airport or cafe wifi, the threat is the local network and whoever else is on it. A tunnel to a server you control removes that entirely, and the single-user exit address is irrelevant because you were never trying to hide from the far end.
- Reaching your own infrastructure. Home network, a NAS, a database that should never face the public internet, a staging environment. Here the VPN is a private door rather than a disguise, and self-hosting is the only sensible option.
- Taking your traffic away from your ISP. Your access provider sees which servers you connect to and when, and in many countries is obliged to retain connection records. Encrypted DNS and Encrypted Client Hello can hide some of the hostname detail, but the connection itself remains visible. A tunnel moves that visibility to a provider you chose deliberately instead of the one that happens to serve your street.
- Removing the no-logs question. If your objection to commercial VPNs is that you cannot verify their claims, self-hosting answers it directly. You control what the VPN service itself logs instead of relying on somebody else's no-logs promise.
What it is bad at
Two jobs where you should not use one, and where the guides that treat self-hosting as universally superior will lead you badly astray.
Anything that depends on being unidentifiable. A dedicated exit address plus a server rental record is a shorter path to you than a shared commercial address, not a longer one. If anonymity is the goal, Tor is the tool designed for that problem rather than either kind of VPN, although Tor has its own threat-model limits and does not claim to defend against an observer who can watch both ends of your connection.
Geo-unblocking at scale. Streaming services detect and block data centre address ranges as a matter of routine, and a single IP that suddenly carries streaming traffic is a simple pattern to spot. Commercial providers fight this fight continuously with rotating residential-adjacent infrastructure. You will not win it alone with one address.
WireGuard, OpenVPN, and what changed
The old shorthand was that WireGuard is fast because it runs in the kernel and OpenVPN is slow because it runs in userspace on a single core. That is out of date. OpenVPN 2.6 introduced Data Channel Offload, which moves the data path into the kernel and processes it with multi-threading, and the module was merged upstream in Linux 6.16. If you last compared these two a few years ago, the performance gap is not what you remember.
| WireGuard | OpenVPN | |
|---|---|---|
| Codebase | A few thousand lines, in the Linux kernel | Far larger, with a userspace control plane |
| Data path | Kernel, scales across cores | Kernel with DCO enabled, userspace and single threaded without it |
| Configuration | A short file per peer | Certificates, a PKI, considerably more surface to misconfigure |
| Restrictive networks | UDP only, and the protocol is distinctive | Can run over TCP 443, which is commonly permitted where UDP is blocked |
DCO is also not automatic. You need the kernel module present, the upstream version shipped with Linux 6.16 and later requires OpenVPN 2.7 or newer, and enabling it restricts you to AEAD mode with AES-GCM or ChaCha20-Poly1305. If your distribution or your provider's kernel does not line up, you are back to the userspace data path.
For most people the answer is still WireGuard, but for a better reason than raw throughput. The configuration is short enough to read and fully understand in one sitting, and a smaller codebase means less to audit and fewer ways to get it wrong. Those advantages did not change when DCO landed. The case for OpenVPN is a restrictive network that blocks anything on unfamiliar ports, where being able to run over TCP 443 is what gets you connected at all.
If you want the convenience layer rather than raw WireGuard, Tailscale and Netbird build mesh networking on top of it and handle key distribution and NAT traversal for you. Both introduce a coordination server into the picture, which is a reasonable trade for connecting your own devices and a poor one if the entire point was to remove third parties. Headscale is a self-hosted implementation of the Tailscale control server if you want the mesh without that dependency.
Sizing the server
People routinely overbuy here. WireGuard is extremely light, and the constraint is almost always the network port rather than the CPU or the memory.
| Use case | What you need |
|---|---|
| One person, a few devices | The smallest VPS on the shelf. 1 vCPU and 1 GB is plenty. |
| A household or a small team | 2 vCPU and 2 GB. Concurrent connections matter more than throughput. |
| A small office, dozens of users | 3 vCPU and 3 GB, since connection tracking scales with session count. |
The number that actually matters is the bandwidth arrangement, because a VPN carries the full weight of everything every connected device does. On a metered plan, one person watching video through the tunnel for a month can put you into overage. Check whether the port is unmetered or allowanced before you check the core count, because that is the line item that will surprise you.
A VPN also barely touches the disk, so if you are already renting a server for something else, adding WireGuard to it costs essentially nothing. Our guide to things you can host on a VPS covers what else fits alongside it.
Jurisdiction still applies, just to a different party
Self-hosting does not remove the legal question, it moves it. You are no longer relying on a VPN company's stated policy, but the server sits in a country whose law governs what can be demanded of your host and what your host is obliged to retain. Controlling the VPN's own logs is not the same as controlling what a provider keeps at the account, billing or network layer.
This is why choosing where the machine lives is worth more thought than choosing the tunnel software. Countries differ substantially on mandatory retention, on what has to be shown before disclosure is compelled, and on whether foreign authorities have a shortcut. We scored fourteen of them against six criteria in the Hosting Jurisdiction Index 2026, and the results do not match the folklore. The broader picture of what changing jurisdiction does and does not fix is in offshore hosting explained.
One more thing gets missed. If you signed up with identity documents and paid with a card in your name, the server rental record ties that dedicated exit address directly to you, and no amount of careful tunnel configuration undoes that. The signup and the payment are part of the same system as the VPN, a point we go through in what an anonymous VPS actually hides.
Running one on Packetra
Running a VPN on a Packetra VPS is explicitly permitted and needs no approval or prior notice. That is worth stating plainly, because plenty of providers either forbid it outright or bury it in an acceptable use policy you only discover after your server is suspended.
Every Cloud VPS runs KVM with full root access and its own dedicated IPv4, in Finland or Switzerland, on a 1 Gbit unmetered port. Unmetered is the specification that matters most for this particular workload, since a VPN carries everything every connected device does and a monthly allowance is the thing that turns a cheap server into an expensive one. Signup takes an email address and a password with no identity documents at any stage, and Bitcoin and Monero settle through a BTCPay Server instance we run ourselves. Given the single-user exit address, how you signed up and paid is not a side detail here, it is the part that determines what your VPN is actually worth.
Two limits to know before you order. Tor exit nodes are not permitted in either location. Torrents, peer to peer traffic and adult content are not permitted on Finnish infrastructure, so if your tunnel will carry P2P, choose Switzerland. Jurisdiction differences between the two are in our Finland versus Switzerland comparison.
Frequently asked questions
Is a self-hosted VPN more private than a commercial VPN?
More private in one respect and less in another. You no longer have to trust anyone's no-logs claim about the VPN itself, which is a real gain. But your exit address is used by one person instead of thousands, so your traffic is far easier to attribute. If your problem is trusting a provider, self-hosting wins. If your problem is standing out, it loses.
Can I use a self-hosted VPN for streaming?
Poorly. Streaming platforms block data centre address ranges routinely, and a single address carrying streaming traffic is easy to identify. This is one of the few things commercial VPN providers genuinely do better, because fighting that detection is a continuous operational effort.
How much does it cost to run your own VPN?
Roughly the price of the smallest VPS, which is generally comparable to a commercial VPN subscription. The variable is bandwidth. On an unmetered port the cost is fixed regardless of how much you push through it; on a metered plan heavy use can cost considerably more than a subscription would have.
WireGuard or OpenVPN?
WireGuard for most cases, though not for the speed reasons people usually give. OpenVPN with Data Channel Offload runs its data path in the kernel with multi-threading, so the performance argument is much weaker than it was. WireGuard still wins on a far smaller codebase and a configuration short enough to fully understand. Choose OpenVPN over TCP 443 when you need the tunnel to cross a network that only permits familiar ports.
Do I need a VPN if I already use HTTPS everywhere?
HTTPS protects the contents of your requests but not the fact that you made them. Your ISP or the local network still sees which servers you connect to and when. A VPN moves that metadata to your chosen provider rather than eliminating it, which is a change of custodian rather than a disappearance.
The short version
Run your own if you want a secure tunnel out of untrusted networks, private access to your own infrastructure, distance from your ISP, or an end to wondering whether a no-logs claim is true. WireGuard, the smallest server that fits, an unmetered port, and a jurisdiction you picked on purpose.
Do not run your own if what you actually needed was a crowd to disappear into. That is a different product, and for the small number of situations where it genuinely matters, the answer is Tor rather than either kind of VPN.
Shared Hosting
WordPress Hosting
Cloud VPS Hosting
Dedicated Servers