Static IP Addresses – Why Considered Bad Practice

ipip address

Im looking to better understand this piece of advice in relation to setting up devices on internal networks with static IP addresses, and why that is considered a bad idea.

On the surface of it, setting up static IP addresses for devices on an internal network that acts as a server doesn't seem like a particularly bad idea when those servers need to communicate with each other regularly. If server A needs to request a web page or an FTP connection or whatever from server B, the task is made much simpler by making sure that server B can always be found at a specific address instead of searching through the network for server B each time.

The only immediate issue that I can think of when setting a static IP address is that the IP address is defined from the servers side and not the router (e.g. the server says to the router, "I want to be connected to your network at IP address 192.168.0.42"). This is fine in most simple cases, but if there's a collision (two different devices are both asking/demanding to be 192.168.0.42), the setup is bound to fail somehow.

Beyond that one case though, why is setting up servers on an internal network with static IP addresses such a bad idea?

Best Answer

It's not true that static IP addresses are always a bad idea. For small networks, with a handful of devices, it may make perfect sense. Static addresses are simple to understand and configure -- and not as complex as setting up a DHCP and DNS server. For small networks to which you might hook up a Raspberry Pi -- as mentioned in the question you linked to -- I think static addresses are fine. The blanket, "Telecommunications engineers never do this" is not accurate.

Most of the regular users on this forum work with much larger networks -- hundreds, thousands, or tens of thousands of devices. At that scale, manually keeping track of individual device addresses is nearly impossible. When networks are that large, things are changing constantly (that's why we have jobs). PCs move, servers get replaced, new applications get created, and old ones are retired. Networks expand and contract, adding new sites or reconfiguring old ones.

If everything had a static address, any change would become an impossible task. Imagine moving a server from one data center to another. The IP address would have to change. Every application that communicates with that server would have to be modified. Software would break, systems would fail, and IT would look very different than it does today. Facebook and Google could not do what they do managing all their servers' IP addresses in a spreadsheet.