I have a number of CentOS 7 servers that comprise a FreeIPA domain on a VirtualBox host-only network. Whenever I start a server though, it is liable to pick up an IP address that I’ve already assigned to another server (which is currently powered off) in /etc/hosts.
How do I assign it a specific static IP address?
In CentOS 7, you can use the Network Manager Text User Interface (nmtui) to edit the network settings. Here’s the first thing I tried, which wasn’t quite right:
- Edit a connection
- Select a connection, e.g. enp0s3
- IPv4 Configuration
- Change from Automatic to Manual
- Select Show
- Enter 192.168.56.109/32 for addresses
- Enter 192.168.56.255 for the gateway
When I used those settings, it didn’t work. No route to host, etc. I looked at the network interface settings via a different method:
# ip addr show
The brd (broadcast) address listed was the same as my ip address, 192.168.56.109, which was unexpected and probably why it wasn’t working!
nmtui again and changed the address from 192.168.56.109/32 to 192.168.56.109/24 and it worked.
Since the /32 is interpreted as the subnet mask, it created a subnet with an address range of 1, and the broadcast address would be the same as the ip address. Specifying a subnet mask of /24 creates a subnet with 256 addresses, and a broadcast address of 192.168.56.255 (the same as was listed for the other machines on the virtual network that were using DHCP).