Skip to content
TLDBunker

Use case

Run your own WireGuard VPN on a VPS

The short answer

Running your own WireGuard VPN means installing WireGuard on a VPS you rent, generating a keypair, and routing your devices through that server. You get a fast, private tunnel that only you use and fully control. It is not anonymity, though: your traffic exits from the server's own dedicated IP address, tied to you.

Recommended plan: Nano — 1 vCPU / 2 GB / 25 GB NVMe

A tunnel only you use — no sharing an exit IP with a commercial VPN's other customers

Reach your home lab, NAS or private services from anywhere over an encrypted link

WireGuard is lean and fast; the Nano plan handles a personal tunnel with room to spare

No KYC on the host; order with a 32-character ID and pay in Monero

Honest scope — this gives you control and privacy, not anonymity

Why run your own WireGuard tunnel

A commercial VPN is a product someone else operates: you trust their client, their servers, and their no-logs claim. Running WireGuard on a VPS you rent flips that around. You hold the keys, you choose the location, and the tunnel carries only your traffic. It’s the difference between renting a seat on a bus and driving your own car.

The practical wins are concrete. You can reach a home NAS, a self-hosted Nextcloud, or a private database as if you were on the LAN, from any network you happen to be on. You sidestep the shared blocklists that get commercial VPN exit ranges banned from sites and APIs. And because the underlying server is no-KYC and payable in Monero, renting it doesn’t attach another identity record to your name.

Be honest about what this is

A single-user WireGuard tunnel gives you privacy from your local network and full control of the exit — it does not give you anonymity. All of your traffic leaves from one IP address dedicated to you, so anyone watching that exit sees a stable, consistent address tied to everything you do. Part of a commercial VPN’s value is the crowd: hundreds of users behind one exit. Your own server has no crowd. If your goal is to blend in or resist traffic correlation, that’s a job for Tor — see our Tor relay page — not a personal VPN. We’d rather you know that up front than sell you a false promise.

Stand up WireGuard in about ten minutes

The steps below build a working tunnel on a fresh Ubuntu 24.04 server. Replace the placeholder keys and the endpoint IP with your own, and read WireGuard’s docs before you rely on this for anything important.

1. Install

sudo apt update && sudo apt install -y wireguard qrencode

2. Generate server and client keys

cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee client_private.key | wg pubkey > client_public.key

umask 077 keeps the private keys readable only by root. Never share a *_private.key; only the public keys are exchanged between peers.

3. Write the server config

Create /etc/wireguard/wg0.conf. The PostUp/PostDown lines turn on NAT so traffic from the tunnel can leave through the server’s main interface — change eth0 if yours is named differently (check with ip route).

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <contents of server_private.key>
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = <contents of client_public.key>
AllowedIPs = 10.8.0.2/32

4. Enable IP forwarding

The kernel won’t route between interfaces until you allow it:

echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system

5. Bring the interface up

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0   # start on boot
sudo wg show                         # verify the interface is listening

Open UDP 51820 in your firewall (and any provider-side firewall) so clients can reach the ListenPort.

6. Add a client, and a QR for mobile

Create a client.conf on your laptop or on the server. AllowedIPs = 0.0.0.0/0 routes all traffic through the tunnel; narrow it to a subnet if you only want to reach specific hosts.

[Interface]
Address = 10.8.0.2/24
PrivateKey = <contents of client_private.key>
DNS = 1.1.1.1

[Peer]
PublicKey = <contents of server_public.key>
Endpoint = <your-server-ip>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

On desktop, drop that file in and run wg-quick up client. For a phone, render the same config as a QR code and scan it in the WireGuard app:

qrencode -t ansiutf8 < client.conf

Adding more devices

Each laptop and phone needs its own keypair and its own address inside the tunnel. Generate a new key with wg genkey, add a matching [Peer] block to wg0.conf with a unique AllowedIPs (10.8.0.3/32, 10.8.0.4/32, …), then reload with sudo wg syncconf wg0 <(wg-quick strip wg0). Giving every device its own key means you can revoke one without touching the others — pull the peer, reload, done.

Which plan fits

A personal VPN is light work. WireGuard’s kernel implementation is efficient, and a single-user tunnel rarely stresses the CPU — the bandwidth allowance usually matters more than core count. The Nano plan (1 vCPU / 2 GB) is sized for exactly this. Step up only if you’ll route several heavy users at once or plan to saturate the link continuously.

This page is about running the software; the strategy and the policy are yours. Whatever exits the tunnel is your responsibility under our AUP — a private tunnel is not an excuse desk, and we operate an abuse contact like any serious host.

Get started

Plans that fit this workload

Nano

Tor relay, WireGuard, small nodes

$5 /mo

  • CPU 1 vCPU
  • RAM 2 GB
  • SSD 25 GB NVMe
  • NET 2 TB transfer
Choose Nano
Most popular

Standard

Self-hosting, Nextcloud, trading bots

$12 /mo

  • CPU 2 vCPU
  • RAM 4 GB
  • SSD 60 GB NVMe
  • NET 4 TB transfer
Choose Standard

Pro

Monero/Bitcoin nodes, heavier workloads

$24 /mo

  • CPU 4 vCPU
  • RAM 8 GB
  • SSD 120 GB NVMe
  • NET 8 TB transfer
Choose Pro

Max

Seedbox, multi-service, teams

$48 /mo

  • CPU 8 vCPU
  • RAM 16 GB
  • SSD 240 GB NVMe
  • NET 16 TB transfer
Choose Max

Prices are per month billed monthly. Commit longer and save — 10% off 6 months · 20% off 12 months.

Pay with XMR · BTC · BTC-LN · USDT · LTC. No email required to order.

Frequently asked questions

Should I run my own WireGuard server or use a commercial VPN?

They solve different problems. A commercial VPN mixes your traffic with thousands of other customers, which helps you hide in a crowd. Your own server is a tunnel only you use — better for reaching home services, avoiding a shared VPN's blocklists, and controlling the whole stack — but it does not blend you into any crowd.

Does running my own VPN make me anonymous?

No. All your traffic leaves from one server IP dedicated to you, so anyone watching the exit sees a single, consistent address tied to your usage. It encrypts the link to the server and hides your activity from the local network — not your identity from the wider internet. For anonymity, Tor or a many-user VPN is the right tool.

Can I connect from my phone?

Yes. Install the official WireGuard app for iOS or Android, then import the client config by scanning a QR code generated with qrencode on the server. The same rule applies as on a laptop — one keypair and one config per device.

How do I add more devices?

Generate a fresh keypair for each device and add a new [Peer] block to wg0.conf with a unique AllowedIPs address (10.8.0.3/32, 10.8.0.4/32, and so on). Reusing one key across devices breaks routing and weakens security, so give every laptop and phone its own.

Spin up a VPS with no email in minutes

A 32-character ID, a Monero payment, and you are online. No name, no email, no KYC.