From legacy ifconfig to modern ip and netplan — master every method for configuring network interfaces on Linux. Covers NetworkManager, nmcli, static IP, DHCP, and the /etc/network/interfaces approach.
Linux network interfaces were historically named eth0, eth1, wlan0 — simple sequential names assigned at boot. Modern systems use predictable network interface names (also called "biosdevnames") assigned by systemd based on hardware topology.
These predictable names eliminate the race condition where two NICs could swap names between reboots, which caused serious issues in server environments.
Part of the net-tools package. Still available on older systems. Replaced by the ip command from iproute2. Many distros no longer install it by default. Use sudo apt install net-tools to restore.
The canonical Linux networking tool. Manages interfaces, addresses, routes, tunnels, and more. Part of the iproute2 package, available on all modern distributions. The exam expects you to know this tool.
CLI frontend to NetworkManager. Ideal for managing connections persistently. Changes survive reboots. Essential on desktop distros and RHEL/CentOS systems where NetworkManager is the default stack.
The ip command makes changes to the running kernel network configuration only. They survive until the next reboot or interface restart. For persistent configuration you must use netplan (Ubuntu), /etc/network/interfaces (Debian/older), or NetworkManager/nmcli.
Older Debian-based systems used /etc/network/interfaces as the persistent network configuration file. The ifup and ifdown commands read this file and apply the configuration.
Ubuntu 17.10+ replaced /etc/network/interfaces with Netplan — a YAML-based network configuration abstraction layer. Netplan generates and applies configurations for either systemd-networkd (server default) or NetworkManager (desktop default) as its renderer.
Netplan YAML files must have permissions 600 (owner read/write only) or netplan will refuse to parse them and log a warning. Always set correct permissions: sudo chmod 600 /etc/netplan/*.yaml
NetworkManager is the default network management daemon on desktop Linux distributions (GNOME, KDE) and RHEL/CentOS/Fedora server systems. It handles wired, wireless, VPN, and mobile broadband connections, and stores connection profiles persistently.
Always test in order: (1) loopback ping — verifies TCP/IP stack. (2) Gateway ping — verifies local subnet routing. (3) Remote IP ping — verifies internet routing. (4) DNS lookup — verifies name resolution. Failing at step 2 means a routing or addressing issue. Failing only at step 4 means a DNS problem, not a routing problem.