====== Debian Networking ====== On a typical Debian-based distribution, you have three major packages available for that purpose: * ifupdown (daemon: networking) * NetworkManager * systemd (daemon: systemd-networkd) In general, you should choose one and stick to it, even if ifupdown works well with NetworkManager it can still creates unexpected configuration issues. ===== ifupdown ===== Quite deprecated but reliable, you might encounter it on many older systems. The config is stored in **/etc/network/interfaces** and managed by the **networking.service** daemon which is a wrapper around the ifup and ifdown commands which are also wrappers themselves around ifconfig (or ip for ifupdown2). ===== NetworkManager ===== Usually included with desktop distributions since many graphical front-ends are available, the config is stored in **/etc/NetworkManager** and managed by the NetworkManager.service daemon. You can manage the config with the included nmcli or nmtui utilities. ===== systemd-networkd ===== Usually used on server distributions and the official successor to ifupdown as it is included within systemd, the config is stored in **/etc/systemd/network** and managed by the** systemd-networkd.service** daemon. ===== dhclient ===== Although not a daemon, dhclient from isc-dhcp-client is nonetheless a very important package and often required on desktop distributions as you often need to obtain a IPv4 from a DHCP server. Hopefully, as IPv6 (which uses SLAAC) is slowly being adopted, this will probably change in a near or distant future.