10

My Ubuntu server will not accept my static IP assignment. Instead, I keep getting a DHCP lease. Network Manager is not installed. Below is the output of cat /etc/network/interfaces

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.128
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.120 192.168.1.125
dns-domain mynetwork.local
dns-search mynetwork.local

Output of ip addr

Questions:

  1. Why doesn't Ubuntu accept the static IP assignment? The Interfaces file seems to be ignored.

  2. What is allowing a DHCP lease to be assigned?

0
25

The package ifupdown and so /etc/network/interfaces are no longer used. Ubuntu 17.10 Server uses the package netplan instead, which configures systemd-networkd.

Make sure you use the default content for the config file /etc/network/interfaces

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# Generated by debian-installer.
# The loopback interface
auto lo
iface lo inet loopback

And create this netplan config file for a static IPV4 address (works for me): /etc/netplan/01-netcfg.yaml.

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.0.97/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

Make sure you use the correct network interface name ("ens3" in this example).

Make sure you use the correct DNS servers (nameservers->addresses) for your network environment.

Once this file has been created, run the following commands as root to test & activate the configuration:

sudo netplan --debug generate
sudo netplan apply
4
  • 1
    Can also stick to eth0 naming conventions(needed by some scripts/programs) by adding the quoted section to your /etc/defaults/grub and running update-grub. GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0"
    – m_krsic
    Nov 3 '17 at 18:18
  • @m_krsic No. You can change the interface name via netplan by using set-name. More info is here. Nov 8 '17 at 14:33
  • 1
    @AndrejsCainikovs Many wish to disable PNIN all together, hence the official upstream method I posted freedesktop.org/wiki/Software/systemd/…
    – m_krsic
    Nov 8 '17 at 17:15
  • Or just apt-get install ifupdown and /etc/network/interfaces will continue to work like in the past
    – Chris
    Mar 25 '18 at 19:17

Not the answer you're looking for? Browse other questions tagged or ask your own question.