Every computer and device on a network has an Internet Protocol (IP) address, whether that's on the global internet or your home Wi-Fi. It's just a number that tells other computers how it can be reached.

Sometimes, you want your computer to have a static IP address. For instance, if you're trying to set up a web server. In this article, we'll explain why a static IP is a bad idea, what to use instead, and why your home server still might not work even after everything is configured correctly!

Public vs. Private IP Addresses

Before we talk about static IPs, it's important to differentiate between IPs that are public and those that can only be used on private networks.

Your internet service provider (ISP) assigns a public IP address to your router so that it can be a part of the wider, public internet, while your router assigns internal, private IP addresses to devices within your home.

Your public IP address is one that the world sees, and every internet connection, website, or public-facing web-connected thing will have one. If you ask Google "What is my IP address?", it'll tell you what your public IP address is, as given to you by your ISP (though if you're using a VPN, this will come from your VPN provider instead).

what is my ip address ask google

Your internal, private IPs are only used on your home network. Even if you only have one computer, it will have a private IP address assigned by your router. Private IP addresses cannot be routed over the internet and are strictly for private use. They look exactly the same though: four numbers, each from 0 to 255, with a dot in between.

There are a few possible ranges of private IP addresses, but for most home users, this will be 192.168.*.* or 10.0.*.* (where * can be anything).

Your router itself also has an internal IP address, likely 192.168.0.1. Your home computers might then be anything in the range of 192.168.0.2 to 192.168.0.254. Most routers will just assign internal addresses on a first-come first-served basis.

The first computer you plug into the router will send out a network request saying "I need an IP address" and will be given 192.168.0.2. The next device will get 192.168.0.3, and so on. Here's a snapshot of my home network, using the 10.0.*.* private IP range:

ip and mac addresses full list

Your home network IPs can be changed, since you control your router. Your public IP address, on the other hand, is not generally something you can change—it is given to you automatically by your internet provider.

What Is a Static IP Address?

Most IPs (whether private or public) are dynamic, meaning that it changes as and when needed. While you're connected to your router, it doesn't usually change. But if you restart your router, it might. A static IP address (also known as a fixed or dedicated IP address) is just as the name suggests: one that doesn't change, even if you restart.

The truth is that you almost certainly don't need a static public IP address, and even if you're sure you do, a Dynamic DNS server would be a better choice. These services give you a domain name mapped to your home router, and if your IP changes, they update automatically. So that's the public side of things sorted.

On your home network, though, you can do whatever you want, free of charge. If you want to set up one of your computers or devices with a static IP, you can. So let's look at why you might want a static private IP for your home PC—and then I'll show you the much better way of doing things.

Why Would I Need a Static Private IP Address?

There are many reasons you might want to run your own server at home. In the past, you needed a static private IP address for a computer if you were trying to run a server that was open to the internet. For example:

DIY Web Server

In order to set up a web server on your home network that is accessible by anyone in the world, you need to forward incoming requests on port 80 (What is port forwarding?) to whatever computer is running your web server. But if your computer was to restart, it would get a new IP from the router. The port forwarding rule you created to send requests on port 80 to the old computer IP address wouldn't work anymore. Your website would be offline, even though your server itself may be functional. You need that IP to stay the same.

Retro Gaming

With some older routers and gaming consoles, you needed to forward certain ports in order to play online multiplayer games. Modern routers include a system called Universal Plug'n'Play, which sets up port forwarding rules automatically when needed.

Older Windows systems would connect to a networked printer using an IP address that you manually configured upon setup. If this address changed, you wouldn't be able to print anymore. Modern printers use a broadcast naming system instead.

Disadvantages of a Static IP Address

Static IPs must be configured manually and can lead to errors. You will need to make a few changes to your router configuration and keep track of them in case you replace your router or change ISP.

Incorrect configurations can lead to more IP address conflict errors. For example, if you set one of your machines to the IP address 192.168.0.10, and your router continues to hand out IP addresses automatically, then it's possible another machine will be given the same IP.

What You Should Use Instead: Reserved Addresses

Instead of having to manually configure the settings on every PC we want to give a static IP address to, we will simply "reserve" the address we want to be given from the router's automatic IP address system. By doing this, we ensure our machines have an IP address that will never change, all without actually assigning a static IP address.

Instructions on how to do this will vary depending on your router manufacturer and model.

use fixed ip on unifi systems

If your router isn't covered by that list, then generally speaking, in your router configuration, look for a section labeled DHCP or LAN Setup. Then find a section about Static Leases or Reserved Lease Info.

There are two or more fields that need to be filled in to add a new IP address reservation. First is the hardware MAC address (six pairs of alphanumeric characters), which is unique to every device in the world. The second is the IP you wish to assign or reserve for it.

You should be able to see your MAC address in the list of current "leases". A lease refers to the address the router has automatically gives your device. You may also just have a screen that shows an overview of currently connected devices.

In the following example, we've added a DHCP Reservation for the device with the MAC address E0:CB:4E:A5:7C:9D, currently with IP 192.168.0.10.

dhcp reserved ip lease screenshot

You can reserve a different IP address to the one it currently has, but you'll need to restart the device for the new address to take effect.

That's it! You can keep your special routing rules the same, and if a device or server restarts, it'll simply be given the same IP next time.

Why Your Server Still Doesn't Work: CGNAT

So you've created a dynamic DNS name, set up a reserved IP address on your home network, and forwarded the right ports onto your home server. But still... nothing is working. No one can access your server.

That could be because we've run out of IP addresses, and you're now sharing one with your neighbors.

In an ideal world, ISPs would be giving each customer their own unique public IP address (even if it's dynamic). This is how things used to be. Unfortunately, the internet soon hit the limit of how many public IPs were available. There just weren't any more to give out. That's where Carrier-Grade Network Address Translation (CGNAT) comes in and why it's no longer possible for many of us to host routable servers at home—even if you have a static or reserved IP correctly set up on your router.

CGNAT means you're being double routed. Instead of one public IP to one customer, you now have one public IP to many customers. Your ISP has added another router at their end—and you can't configure it. You can still send out requests to the internet and get packets of information back again, but you can no longer run a server because any incoming packets that aren't recognized are simply discarded at your ISP's side.

If you're in this situation, you still have a few options. You should first contact your ISP and tell them that you need a publicly routable IP address. They may allow you to opt-out of CGNAT, ask for more details on why you need it, say it's impossible, or tell you to upgrade to a business package. There is no universal rule here, so it depends on your ISP. If that doesn't work, you can use a VPN service that offers dedicated IPs, which costs around $70/year.

No, You Probably Don't Need a Static IP

Most applications nowadays don't need you to configure an internal IP address at all. Everything is done automatically, in the background. But if you do need an internal static IP, you should use a reserved address instead.