- Edit the /network/interfaces file
sudo nano /etc/network/interfaces
The interfaces file is where you need to change from the default “dhcp” setting to add some information about the “static” IP address that you want to configure.
In this case, look for the line in the file that says “# The primary network interface” and directly beneath this you’ll see something like (the default DHCP configuration):
auto ens160 iface ens160 inet dhcp
Simply comment, remove or edit the line that says ends with “dhcp” and add the following information (here’s an example only):
iface <interface> inet static address 192.168.0.100 netmask 255.255.255.0 gateway 192.168.0.1
Next you’ll want to add the nameservers by adding the line “dns-nameservers” followed by a list of IP addresses. A lot of people use Google’s public DNS, or if you have details from your service provide use them instead.
dns-nameservers 18.104.22.168 22.214.171.124
Double-check the file again, and ensure all details are correct, before proceeding. If you are configuring a remote system you could easily cut yourself off if you get it wrong.
Save the file, and you’re done.
- Restart the networking service (or reboot)
Once you are confident the change has been made, and if you don’t want to reboot you can just restart the networking service.
sudo /etc/init.d/networking restart
After doing this, and provided you don’t get any errors, your primary network interface should now be configured with the static IP address details you have provided.
Failing that, a reboot will also do the trick quite nicely, and with the current version of 16.04 I suspect there’s a bug that is causing “ifconfig -a” not to update unless you perform a reset.