Gone are the good 'ole days of using /etc/network/interfaces to manage basic networking stack configurations. There seems to be an explosion of alternate ways, each stepping on each other's toes: /etc/network/interfaces, NetworkManager, NetPlan, systemd-networking, ...
A problem I had the other day was where a new installation of an espressobin had NetworkManager installed, no NetPlan, and some stuff in /etc/network/interfaces. Unfortunately, since NetworkManager controls the dhcp-client, the /etc/network/interfaces interface was not obtaining an address.
The solution was to edit /etc/NetworkManager/conf.d/10-ignore-interfaces.conf, and comment the following line:
[keyfile]
#unmanaged-devices=interface-name:eth*,interface-name:wan*,interface-name:lan*,interface-name:br*
After 'sudo service NetworkManager restart', this solves the error of NetworkManager not being able to manage strictly unmanaged interfaces, which for the espressobin, are lan0, lan1, wan.
Some commands for NetworkManager:
- nmcli
- nmcli device show
- nmcli connection show
-
File locations:
- /etc/NetworkManager/system-connections/ - interface configurations
- /usr/share/doc/network-manager/README.Debian - notes about managed/unmanaged devices
Some references: