https://askubuntu.com/questions/1031709/ubuntu-18-04-switch-back-to-etc-network-interfaces
The following procedure works for Ubuntu 18.04 (Bionic Beaver)
I. Reinstall the ifupdown package:
# apt-get update
# apt-get install ifupdown
II. Configure your /etc/network/interfaces file with configuration stanzas such as:
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
address 192.168.1.133
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
# Only relevant if you make use of RESOLVCONF(8)
# or similar...
dns-nameservers 1.1.1.1 1.0.0.1
III. Make the configuration effective (no reboot needed):
# ifdown --force enp0s3 lo && ifup -a
# systemctl unmask networking
# systemctl enable networking
# systemctl restart networking
IV. Disable and remove the unwanted services:
# systemctl stop systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl disable systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl mask systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# apt-get --assume-yes purge nplan netplan.io
Then, you're done.
Note: You MUST, of course, adapt the values according to your system (network, interface name...).
V. DNS Resolver
Because Ubuntu Bionic Beaver (18.04) make use of the DNS stub resolver as provided by SYSTEMD-RESOLVED.SERVICE(8), you SHOULD also add the DNS to contact into the /etc/systemd/resolved.conf file. For instance:
....
DNS=1.1.1.1 1.0.0.1
....
and then restart the systemd-resolved service once done:
# systemctl restart systemd-resolved
The DNS entries in the ifupdown INTERFACES(5) file, as shown above, are only relevant if you make use of RESOLVCONF(8) or similar.
############### service on NanoPi NEO/H3/ARM/Linux
root@nanopi-neo:~# cat /lib/systemd/system/networking.service
[Unit]
Description=Raise network interfaces
Documentation=man:interfaces(5)
DefaultDependencies=no
Wants=network.target
After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service
Before=network.target shutdown.target network-online.target
Conflicts=shutdown.target
[Install]
WantedBy=multi-user.target
WantedBy=network-online.target
[Service]
Type=oneshot
EnvironmentFile=-/etc/default/networking
#ExecStartPre=-/bin/sh -c '[ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle'
ExecStartPre=-/bin/sh -c '[ "$CONFIGURE_INTERFACES" != "no" ] && udevadm settle'
#ExecStart=/sbin/ifup -a --read-environment
ExecStart=/sbin/ifup -a
#ExecStop=/sbin/ifdown -a --read-environment --exclude=lo
ExecStop=/sbin/ifdown -a
RemainAfterExit=true
TimeoutStartSec=5min
root@nanopi-neo:~#
root@nanopi-neo:/etc/network# cat /etc/network/interfaces
iface eth0 inet dhcp# loopback:
auto lo
iface lo inet loopback
# eth0:
allow-hotplug eth0
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
root@nanopi-neo:/etc/network#