I got tired of paying $5-10/mo for a VPS I only needed to run a bot or test a script. So I built NATBox — NAT-based Linux containers starting at $0.99/mo. Here's what I actually learned building it.
NAT vs dedicated IP — most people don't need a dedicated IP
The whole idea behind NAT VPS is simple: instead of giving each container its own public IP (expensive), you share one host IP and assign each container a dedicated range of ports. 20 ports per container, forwarded via iptables from the host. Port 1 of your range is SSH. Ports 2-20 are yours — run web servers, bots, proxies, whatever.
For most lightweight workloads, this is completely fine. You only need a dedicated IP if you're running something that requires it — like a mail server. For everything else, 20 ports is plenty.
The provisioning stack is a bash script
No Laravel. No Node. No fancy dashboard. The entire backend — create, suspend, renew, delete, expiry checks, email notifications, iptables rules — is a single bash script managing LXC containers and a pipe-delimited flat file as a database.
It's not pretty, but it's reliable, fast, and I understand every line of it. When something breaks at 2am, I can fix it in under 5 minutes.
The weirdest bugs I hit
Building this taught me more about Linux internals than anything else I've done. A few memorable ones:
pam_loginuid.so
was silently killing SSH sessions inside LXC because /
proc/self/loginuid
isn't writable in containers. The fix: comment it out in
/etc/pam.d/sshd
before the container ever boots.
dnf on Fedora was getting OOM-killed inside 256MB containers just resolving package metadata. Fix: pre-create a 512MB swapfile on the host into the container's rootfs before starting it.
OpenSSH 9.2 on Debian 12 calls
linux_audit_write_entry()
during session open, which requires
CAP_AUDIT_WRITE
. I dropped that cap in an earlier version and SSH started dying immediately after auth. One of those bugs that takes an hour to find and 3 seconds to fix.
What $0.99/mo actually gets you
256MB RAM, 3GB SSD, 20 dedicated ports, full root access, your choice of 6 distros. It's a real Linux container, not a toy. I run bots on nano plans. People use them for proxies, learning environments, lightweight APIs, scrapers, testing.
If you want to try it: natbox.io
Top comments (0)