Author Posts

October 16, 2017 at 2:33 am

Apologies in advance for the off-topic question...

I've heard many comments in this community lately about NOT manually assigning a static ip address to servers. This is extremely intriguing. Is it simply a bulletproof DHCP and DNS configuration? Are ip addresses still "assigned" via DHCP reservation?

Can anyone point me in the proper direction to learn the best way to accomplish this? Is there a design guide or Microsoft "best practice"?

October 17, 2017 at 3:32 am

Hi Jeremy.
Not strictly a PowerShell question, but I'll try and give it my best answer. (I am by no means an expert in this area)
The short answer is no, you don't assign ip addresses manually or by reservations.

Roughly speaking, you would configure and deploy the server with a Configuration management system such as PowerShell DSC, Puppet, Chef etc. Part of this process would be placing the server behind a load-balancer for example, removing the need for to know specific IP address, or even needing to know the name of the server. The idea being, the less personal you need to get with each individual server, the quicker you can deploy and destroy your servers as need arises.
I can recommend The DSC Book by Don Jones and Melissa Januszko
Also have a listen to some of the RunAsRadio podcasts There are a number of episodes where Richard has had discussions about this type of scenario.

All the best

October 19, 2017 at 3:24 am

Hi Jeremy!
The answer is like for most things depends on your use case.

Most IT production shops do not allow DHCP, most test & dev would not survive without it. We do not want someone booting up a server in production area and getting an IP without approval, hence manual processes. Still there are ways to do DHCP in production area where only known MAC addresses are given predetermined IP addresses.

In test & dev, the problem is if your server goes offline for a little while and lease expires, you might loose that IP. But using a DNS for naming (i.e., for connecting to servers by name instead of IP) will overcome that.