Linux network interfaces are the first thing to check when connectivity breaks, a server loses its address, or a VM refuses to talk to the rest of the network. If you need to list network interfaces Linux users can rely on, the ip command is the modern baseline, while ifconfig still appears on older systems and in legacy scripts. This guide shows how Linux networking actually works, how to inspect network management details, and how to troubleshoot interfaces without guessing.
Cisco CCNA v1.1 (200-301)
Learn essential networking skills and gain hands-on experience in configuring, verifying, and troubleshooting real networks to advance your IT career.
Get this course on Udemy at the lowest price →Quick Answer
To view and manage Linux network interfaces, use ip link show and ip addr show for discovery, ip link set and ip addr add/del for temporary changes, and nmcli or your distro’s configuration files for persistence. The ip command is the standard tool on most systems, while ifconfig is legacy and less complete.
Quick Procedure
- List interfaces with
ip link show. - Check addresses with
ip addr show. - Inspect routes with
ip route show. - Bring an interface up or down with
ip link set dev <name> upordown. - Use
nmcli device statuson NetworkManager systems. - Edit persistent config files for static settings.
- Verify with
ping,ss, anddmesg.
| Primary tool | ip command as of June 2026 |
|---|---|
| Legacy tool | ifconfig as of June 2026 |
| Common modern manager | NetworkManager via nmcli as of June 2026 |
| Typical use cases | Discovery, inspection, temporary changes, persistence as of June 2026 |
| Key checks | Link state, IP addresses, routes, DNS, carrier as of June 2026 |
| Common persistence options | Netplan, systemd-networkd, ifcfg files, /etc/network/interfaces as of June 2026 |
Introduction
A Linux host can have several interfaces at once, and each one may behave differently. A physical Ethernet port, a Wi-Fi adapter, the loopback device, a virtual bridge, and a VLAN subinterface all look like “network” to the kernel, but they do different jobs.
That distinction matters because most problems people call “network issues” are really interface issues. If the device is down, has no carrier, has the wrong IP address, or is attached to the wrong bridge, the rest of troubleshooting becomes noise.
This article shows how to discover interfaces, inspect details, manage them temporarily, and make changes persist across reboots. It also explains why Linux gives you both modern tools and older utilities, which is confusing the first time you compare ip, nmcli, and ifconfig.
Most interface problems are visible before you ever test the application layer. If you can read the interface state, you can usually narrow the fault to the physical link, configuration, or routing within minutes.
The skills in this guide align closely with the networking fundamentals covered in Cisco CCNA v1.1 (200-301), especially when you need to verify interfaces, understand routes, and troubleshoot connectivity on real systems.
Understanding Linux Network Interfaces
Network interface is the kernel’s point of send and receive for traffic on a host. In practical terms, it is the abstraction Linux uses to connect a machine to another machine, a switch, a tunnel endpoint, or even itself through loopback.
Common interface types include Ethernet, Wi-Fi, Loopback, VLANs, bridges, bonds, and tunnels. Ethernet and Wi-Fi are the ones most administrators expect, but virtualization and container platforms depend heavily on bridges, veth pairs, and overlay-style interfaces.
Common interface names and naming conventions
Older Linux systems often used names such as eth0 and wlan0. Modern distributions usually use predictable names such as enp0s3, ens160, or wlp2s0, which are derived from physical location, bus information, or device type.
The goal of predictable naming is stability. If a machine boots with two NICs, the kernel should not rename them just because hardware detection order changed. That matters in servers, cloud instances, and any environment where scripts expect a specific interface name.
How interfaces relate to IP, MAC, and routing
An interface can exist without an IP address, but it cannot pass normal network traffic without one unless it is being used for something special like bridging, monitoring, or raw packet capture. The interface also has a MAC address, which identifies the link-layer device on Ethernet-style networks.
Routing tells Linux where to send packets after the interface is chosen. That is why the default route matters: it usually points to the gateway interface that handles traffic destined for the wider network or the internet.
Linux networking behavior can differ across distributions because the user-space stack differs. A server using NetworkManager behaves differently from one managed by systemd-networkd or static config files, and that changes which commands persist and which only last until the next reboot.
Cisco CCNA candidates should pay close attention to interface naming and route selection because those details show up in real troubleshooting, not just in exam questions.
How To List Network Interfaces In Linux
The fastest way to list network interfaces Linux administrators use is ip link show. It gives you interface names, link state, and a clean view of whether the kernel considers a device operational.
If you also need addresses, ip addr show is the better choice because it combines interface state with IPv4 and IPv6 assignments. The shorter alias ip a is common in daily administration because it is fast to type and easy to remember.
Commands to use first
ip link showlists interfaces and basic link state.ip addr showlists interfaces plus assigned addresses.ip ais a shorthand alias for quick checks.ls /sys/class/netshows interface names from the filesystem.ifconfig -ais the legacy fallback on older systems.
The /sys/class/net method is useful when you want a plain list of interface names with no formatting noise. It is also helpful in scripts because it reflects what the kernel currently knows about the system.
ifconfig -a still appears on older servers, but it is incomplete compared with ip. It may not show all modern details, and some distributions no longer install it by default.
Note
If you only need a quick inventory, ip link show is usually enough. If you need address-level detail for troubleshooting, move immediately to ip addr show and ip route show.
How to tell active from inactive interfaces
In ip link show, an interface marked UP is administratively enabled, but that does not always mean the cable is connected or the wireless association is valid. An interface can be up and still have no carrier.
Look for the state and flags together. A device that is UP and LOWER_UP usually has physical or link-layer connectivity, while one that lacks carrier may show as disconnected, dormant, or unavailable depending on the driver and stack.
Understanding Interface Details
ip link and ip addr provide the low-level facts you need to diagnose Linux networking. The output looks dense at first, but the fields are consistent once you know what to scan for.
In ip link, the interface index appears first, followed by the interface name, state, and a set of flags. In ip addr, you also get IPv4 and IPv6 addresses, prefix lengths, and scope information.
What the flags mean
- UP means the interface is enabled in software.
- LOWER_UP means the link layer is active.
- BROADCAST means the interface supports broadcast traffic.
- MULTICAST means multicast is supported.
- NO-CARRIER usually means the physical or wireless link is not established.
These flags explain many “it looks up, but it does not work” tickets. A server can have UP set because an administrator brought it up, while NO-CARRIER tells you the NIC still does not see a valid physical link.
You can also find the MTU, which is the maximum transmission unit for packets on that interface. A wrong MTU often causes strange symptoms like partial connectivity, large-packet failures, or VPN problems that are hard to reproduce.
How to find IP versions and the default route
ip addr show tells you whether an interface has IPv4, IPv6, or both. An IPv4 address appears under inet, while IPv6 appears under inet6.
To find the interface used for outbound traffic, run ip route show. The default route usually points to the gateway interface, and that is often the first place to check when hosts can reach local peers but not outside networks.
Pro Tip
If you see the right address but the wrong source interface in replies, check the route table before touching DNS. Routing mistakes often look like name resolution failures.
Working With Common Linux Networking Commands
The ip command is the modern replacement for many older networking utilities. It covers link state, addressing, neighbor discovery, and route inspection in one family of commands, which makes it the first tool to learn for Linux networking.
For temporary changes, ip is fast and direct. For persistent changes, it is often only the first step because most systems store network management settings somewhere else.
Bring an interface up or down
Use ip link set dev <name> up to enable a device and ip link set dev <name> down to disable it. These changes take effect immediately, but they usually do not survive a reboot unless the configuration layer also records them.
For example, if enp0s3 is down, you might run ip link set dev enp0s3 up. If the interface still does not pass traffic after that, the problem is likely link, address, route, or driver-related rather than administrative state.
Add or remove an IP address
Use ip addr add 192.0.2.10/24 dev enp0s3 to assign an address and ip addr del 192.0.2.10/24 dev enp0s3 to remove it. This is useful for temporary testing, recovery from bad changes, or validating a new subnet before making it permanent.
Always match the prefix length to the network design. A /24 on a /23 network can make local systems unreachable even though the interface still appears healthy.
Check connectivity and driver details
ping confirms basic reachability, while ip route show verifies that traffic has a path. If packets leave but do not return, the fault may be upstream, not on the local interface.
ethtool is valuable when the link is up but performance is wrong. It can show speed, duplex, auto-negotiation, and some driver-level data that you will not see in ip addr output.
On systems that use NetworkManager, nmcli often becomes the preferred command for day-to-day network management because it can inspect and change both device state and saved connection profiles.
ip(8) manual is a practical reference when you need exact syntax for link, address, and route operations.
Managing Interfaces With NetworkManager
NetworkManager is a common service for desktops, laptops, and many servers because it manages connections, device state, and profile persistence. The important distinction is that a connection is not the same thing as a device; the device is the hardware or virtual interface, while the connection is the saved configuration applied to it.
That difference matters when an interface exists but is still disconnected. A device can be present and healthy while no active connection profile is attached.
Inspect devices and details
Run nmcli device status to see which devices are connected, disconnected, unmanaged, or unavailable. This is the fastest way to compare physical state with configuration state on NetworkManager-based systems.
Then use nmcli device show for detailed information such as IP addresses, gateways, DNS settings, and connection associations. It is especially helpful when the same system has multiple interfaces and you need to know which profile maps to which device.
Connect, disconnect, and edit connections
nmcli device connect <name> activates a device, and nmcli device disconnect <name> deactivates it. These commands are useful for test windows, maintenance, or forcing a profile reload after a change.
To create a new profile, use nmcli connection add. To modify an existing one, use nmcli connection modify, which is often how you set static IPs, gateways, DNS servers, or autoconnect behavior.
On many systems, NetworkManager stores connection profiles separately from the device itself, which is why changing a link with ip may not persist. If the profile says DHCP, the next renewal or reboot may replace your manual setting.
NetworkManager documentation is the authoritative source for device and connection behavior on supported Linux systems.
Persistent Interface Configuration
Changes made with ip often disappear after reboot because they affect the live kernel state only. That is useful for testing, but it is not enough for production systems that need the same configuration every time they boot.
Where you save persistent settings depends on the distribution and the network stack. Common options include Netplan, systemd-networkd, ifcfg files, and Debian-style /etc/network/interfaces.
Where persistent settings usually live
- Netplan files are common on Ubuntu-based systems.
- systemd-networkd uses
.networkand.netdevfiles. - ifcfg files are common on some Red Hat family systems.
- /etc/network/interfaces is still seen on Debian-style setups.
Static IP configuration means you define the address, gateway, and DNS values yourself. DHCP means the interface asks a server for those values at boot or renewal time, which is easier to maintain but less predictable if you need fixed addressing.
After editing persistent settings, you usually need to reload the service or restart the connection. If you are remote, be careful: a bad change can cut off SSH access instantly.
Warning
Never change a remote server’s interface configuration without a rollback plan. Keep a console path, a second session, or a scheduled revert in place before applying static network settings.
systemd-networkd documentation and distribution-specific networking docs are the safest references when you need persistent behavior to survive reboot.
Virtual, Bridge, Bond, and VLAN Interfaces
Virtual interface is a non-physical interface the kernel or a higher-level service creates for a specific task. These are normal in modern Linux networking and appear alongside physical devices in ip link output.
Administrators use them for segmentation, redundancy, virtualization, container networking, and lab design. In real environments, a single host may have a physical NIC, a bridge, a bond, and several VLAN subinterfaces active at the same time.
Why these interface types matter
A bridge connects multiple interfaces at layer 2, which makes it common in hypervisors and container hosts. A bond combines multiple links for redundancy or throughput, while a VLAN interface maps a logical network onto a physical NIC using 802.1Q tagging.
This is where Linux networking becomes very practical. A lab server may use a bridge so VMs can reach the campus network, while a production host may use a bond to survive NIC failure without losing connectivity.
You can list these interfaces the same way you list physical ones: ip link shows them all. That is one reason the ip command is preferred over older, fragmented tools.
Real-world examples
- Lab networks use bridges so virtual machines can share the host uplink.
- Hypervisors use VLANs to separate management, storage, and guest traffic.
- Clustered systems use bonds for failover and path resilience.
- Container hosts use virtual interfaces to isolate namespaces and traffic paths.
Linux kernel networking documentation is a strong reference for understanding how virtual devices, bridges, and bonds fit together.
Troubleshooting Network Interface Problems
When an interface fails, the failure usually falls into one of four buckets: the interface is down, it has no carrier, it has no usable address, or the route is wrong. That framing keeps you from chasing DNS before you confirm the link.
Start with the interface state, then move to drivers, routes, and services. If the device exists but traffic still fails, the issue may be upstream, not in the interface itself.
What to check first
- Run
ip link showand confirm the device exists and is not administratively down. - Run
ip addr showand verify that the expected IPv4 or IPv6 address is present. - Run
ip route showand confirm a default route exists when needed. - Check
dmesgandjournalctl -u NetworkManageror the relevant network service for driver and link errors. - Test reachability with
ping,ss, andtracerouteto isolate the fault domain.
If the interface shows NO-CARRIER, inspect the cable, switch port, transceiver, or wireless association. If the interface is present but has no IP, check whether DHCP failed, whether a static config file is wrong, or whether the connection profile did not apply.
Sometimes the problem is not the interface at all. DNS failures can look like connectivity issues, and firewall rules can block traffic even when the interface and route look perfect.
Permissions can also matter, especially on locked-down servers or systems with service conflicts. If a manager like NetworkManager, systemd-networkd, and legacy scripts all try to control the same interface, the result is often unstable behavior and confusing status output.
ss(8) and traceroute(8) are useful companions when interface state alone does not explain the failure.
Best Practices For Managing Linux Interfaces
Use ip for low-level inspection and temporary changes, and use nmcli or your distribution’s persistent configuration system when you need settings to survive reboot. That split keeps your workflow clean and avoids assuming one tool does everything.
Document interface names, roles, and persistent settings so the next person does not have to infer which port is management, storage, or user traffic. Good interface documentation is boring in the best way: it prevents outages.
Practical habits that reduce risk
- Back up config files before editing them.
- Keep a fallback path when changing remote networking.
- Use descriptive roles in documentation, such as management, backup, or VLAN trunk.
- Audit unused interfaces and disable them when appropriate.
- Verify routes and DNS after every change, not just link state.
Security matters too. Unused interfaces should be disabled or monitored because every extra path is another place for misconfiguration or unauthorized traffic. On shared hosts, periodic audits of interface state and persistent config files help catch drift before it becomes downtime.
The cleanest environments use consistent IP plans, predictable naming, and a single source of truth for persistent settings. That discipline makes Linux networking easier to support, easier to automate, and easier to troubleshoot under pressure.
NIST Cybersecurity Framework guidance on asset visibility and configuration management aligns well with disciplined interface control, even in non-security-focused operations work.
Key Takeaway
- ip link show and ip addr show are the fastest ways to list network interfaces Linux administrators rely on.
- UP does not always mean working; LOWER_UP and carrier state tell you whether the link is actually alive.
- ip changes are usually temporary, while nmcli and distro config files control persistence.
- Virtual, bridge, bond, and VLAN interfaces are normal parts of Linux networking, not special cases.
- Most interface faults can be isolated by checking link state, IP assignment, routes, and service logs in that order.
Cisco CCNA v1.1 (200-301)
Learn essential networking skills and gain hands-on experience in configuring, verifying, and troubleshooting real networks to advance your IT career.
Get this course on Udemy at the lowest price →Conclusion
Knowing how to view and manage Linux network interfaces is one of the fastest ways to become effective at system administration and troubleshooting. If you can read ip output, interpret link state, and understand when to use nmcli, you can solve a large share of connectivity problems without escalating.
The real skill is not memorizing one command. It is knowing how discovery, configuration, routing, and persistence fit together, and how to move from a symptom to the correct layer of the stack.
Practice with ip, nmcli, and your distribution’s configuration files on a lab machine before touching production. That habit will make you faster, safer, and far more confident the next time an interface disappears, comes up without an address, or starts dropping traffic.
CompTIA®, Cisco®, Microsoft®, AWS®, EC-Council®, ISC2®, ISACA®, and PMI® are trademarks of their respective owners.
