DEV Community

Cover image for Dedicated IP or NAT VPS: which one your project actually needs
EQVPS
EQVPS

Posted on • Originally published at eqvps.com

Dedicated IP or NAT VPS: which one your project actually needs

You rent a VPS, install Nginx, open your browser to the server's address — and nothing loads. Or you set up a mail server and every message bounces. Nine times out of ten the box is fine; the problem is that you're on a NAT plan and the thing you're running needs to be reached from the outside.

This is the one networking choice that trips people up when they buy a server, so let's make it simple. There's exactly one question that decides it, and then a lot of examples so you can place your own project.

The one question

Does anything on the internet need to start a connection to your server?

  • No → a NAT VPS is enough. Cheaper, same CPU, same disk, same speed.
  • Yes → you need a dedicated IP.

That's the whole decision. Everything below is just applying it.

What "NAT" actually means here

On a NAT plan your server shares one public IPv4 with other servers and sits behind network address translation. In plain terms:

  • Outbound is unrestricted. Your server can reach anything — pull from GitHub, call the OpenAI or Anthropic API, connect to Telegram, scrape a site, hit a database elsewhere. All of that starts from your box, so NAT never gets in the way.
  • Inbound is not yours. You don't own a port on the public address, so you can't just open 443 to the world and expect traffic. SSH is forwarded to you on a specific high port (we show you the exact host:port), and that's the inbound you get.

For a huge share of what people actually run on a small server, that's completely fine. A bot that talks to Telegram, an AI agent making API calls, a scraper, a cron job that pushes data somewhere, a CI runner that pulls jobs — none of these need the world to connect in. They reach out. NAT is built for exactly that, and it's why the NAT line starts at $3/mo instead of $8.

What a dedicated IP gives you

A dedicated-IP plan hands you your own public IPv4, with every port open. Now the outside world can start a connection to you, which is the whole point for a certain class of software:

  • Websites. A browser has to connect in on 80/443. No public IP, no site.
  • Mail servers. Inbound 25 to receive, plus you need control of reverse DNS (PTR) so other servers trust you. That requires an IP that's yours — here's how to set the PTR.
  • A personal VPN. WireGuard listens on a UDP port your client connects to — see VPS for a personal VPN.
  • A proxy server. Same idea: your client connects in to the proxy port. VPS for a proxy server.
  • Game servers, reverse proxies, webhooks, self-hosted apps you open to the internet — anything where "someone connects to my server" is the feature.

You also get reputation you control: the IP is used by you alone, so you're never sharing a blocklist entry with a stranger who spammed from the same address yesterday.

Where people get it wrong

A few honest corrections, because these come up constantly:

"I need a public IP for my Telegram bot." Usually no. In the default long-polling mode the bot dials out to Telegram and gets updates back over that connection. NAT is fine. You only need an inbound port if you deliberately switch to webhook mode — and for most bots, long-polling is simpler anyway.

"A dedicated IP is more private." Careful — it's the reverse. A shared NAT address hides you in a crowd; a dedicated IP is yours alone. Dedicated is better for reliability and for anything that must be reachable, worse for blending in. Pick by function.

"I'll get the IP just in case." Don't. Start on NAT, and if a project genuinely needs inbound later, order a dedicated-IP plan for it then. Paying $8–20 for an IP you never accept a connection on is money lit on fire.

Quick placement table

If you're still unsure, find your thing here:

  • NAT ($3–12/mo): Telegram/Discord bots, AI agents, trading bots, web scrapers, CI runners, cron jobs, anything that only calls out. See AI-agent use cases.
  • Dedicated IP ($8–20/mo): websites, mail, VPN, proxies, game servers, reverse proxies, public APIs, webhooks, anything the internet connects to. Start with Nano-IP ($8) for light single-service boxes, or Small-IP ($16) when you want room for a couple of services at once.

The honest bottom line

Ask the one question — does anything need to connect in? — and the answer picks the plan. If you're building agents and bots that reach out to APIs, stay on NAT and keep the $5 a month. If you're putting something on the internet for other people or machines to reach, get the dedicated IP; nothing else will work. Buying the wrong one isn't the end of the world (you can always spin up the right plan), but getting it right the first time saves you an afternoon of wondering why your site won't load.

Pay in USDC or USDT, email to sign up, no card and no ID either way. See the plans.

FAQ

What's the difference between a NAT VPS and a dedicated IP VPS?

A dedicated IP VPS gives you your own public IPv4 address with every port open — anything on the internet can reach it. A NAT VPS shares an outbound IP and forwards only SSH; it can reach out to the internet freely, but nothing can connect in on an arbitrary port. Outbound work is identical; the difference is whether the outside world can start a connection to you.

Do I need a dedicated IP for a Telegram or Discord bot?

No. Those bots hold an outbound connection to Telegram/Discord and receive updates over it — nothing connects in to the bot. A NAT plan is enough and cheaper. You only need a dedicated IP if you switch a Telegram bot to webhook mode, which requires an inbound HTTPS port.

Can I start on NAT and move to a dedicated IP later?

Yes — pick NAT if you're unsure. Most people who think they need a public IP don't, and the cheaper plan does the job. If a project later needs to accept inbound connections, you order a dedicated-IP plan for it then. Don't pay for an IP 'just in case'.

Why is SSH on a weird port on the NAT plans?

On NAT there's no public IP to own port 22, so your SSH is forwarded from a high port on the shared address (the panel shows the exact host:port). It's normal and it works fine — just point your SSH client at the port we give you instead of 22.

Is a dedicated IP more private?

It's the opposite trade-off. A dedicated IP is yours alone — great for reputation and reliability, but your traffic doesn't blend into a crowd. NAT shares an outbound address with other servers, which hides you more but is useless for anything that must be reached from outside. Choose by what the server does, not by a vague sense of privacy.

Top comments (1)

Collapse
 
merbayerp profile image
Mustafa ERBAY

Good practical explanation, but I’d add one networking footnote: NAT doesn’t necessarily mean “no inbound.”

It really means you don’t control the public IPv4 directly.

If the provider offers port forwarding, a NAT VPS can still expose selected services. And with IPv6, Tailscale/WireGuard overlays, or something like Cloudflare Tunnel, you can make a service reachable without owning a dedicated public IPv4 at all.

So I’d slightly reframe the decision:

Do I need unrestricted/direct inbound connectivity on IPv4?

If yes → dedicated IPv4 makes life much simpler.

If no → NAT can be perfectly fine, even for some services that technically receive inbound traffic.

Mail is where I’d strongly agree with the dedicated-IP recommendation, though. PTR, reputation, port 25 policies, and deliverability make that a completely different game. 😄