ip command is a powerful tool in Linux for network configuration and
troubleshooting. Part of the
iproute2 package, it replaces traditional tools
route, providing a unified interface to handle various
Basics of the
ip command allows users to manage and view routing tables, devices, IP
addresses, and more.
ip [OPTIONS] OBJECT [COMMAND]
OBJECT may be one of: address, link, route, neigh, etc., and
is a specific operation related to the object, like
show, and so
ip Command and Combining Options
View All Network Interfaces:
ip link show
This will list all network interfaces on the machine, both active and inactive.
Assigning an IP Address to an Interface:
sudo ip addr add 192.168.1.10/24 dev eth0
This command assigns the IP address
192.168.1.10 with a netmask
255.255.255.0 to the
Removing an IP Address from an Interface:
sudo ip addr del 192.168.1.10/24 dev eth0
Listing Routing Table:
ip route show
ip Output and Reading It
Sample output of
ip link show:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether b8:ae:ed:7f:80:00 brd ff:ff:ff:ff:ff:ff
Reading the Output:
Each block of information relates to a single interface.
lois the loopback interface. It's a virtual network interface primarily used by the localhost. It's a virtual interface that the system used to 'talk to itself'
eth0usually represents the first Ethernet interface on the machine.
<LOOPBACK,UP,LOWER_UP>are the state and attributes of the interface.
UPmeans the interface is running, while
LOOPBACKindicates it's a loopback interface.
link/etherline tells you about the type of link and its MAC address.
Other Flags For A Network Interface
If the network interface is not running, the Linux operating system might display several different flags or states. Here are some common ones:
DOWN: This indicates that the interface is not active or operational.
UNKNOWN: The state of the interface could not be determined. This sometimes happens with certain drivers or virtual interfaces.
NO-CARRIER: The interface is up, but there's no link or carrier signal. This typically means that the physical layer (e.g., the cable) has a problem or isn't connected.
DORMANT: The interface is waiting for an external event to become fully operational.
ERROR: An error occurred with the interface.
NOTRAILERS: The interface doesn't use trailer encapsulation (largely historical and not commonly seen today).
PROMISC: The interface is in promiscuous mode, meaning it can capture all packets regardless of their destination.
LOWER_DOWN: Indicates that the lower layer (typically physical link) is down.
NODHCP: This is not a standard Linux flag but might appear in certain contexts to show that the interface is not configured using DHCP.
MASTER/SLAVE: These are used in bonding to represent the status of bonded interfaces.
Remember, the exact flags and their meanings can vary a bit between different
versions of the Linux kernel and distributions. The
ip link or
commands will show the state flags for an interface. Always refer to the man
man ip or
man ifconfig) or other authoritative documentation for your
specific environment to get detailed and accurate information.
|Display or modify IP addresses on interfaces.
|Manage and display the state of all network interfaces.
|Display or modify the routing table.
|Display or modify the ARP table (similar to ARP command).
|Display more detailed information.
|Display help information.
ip command is a multifaceted tool with a wide range of capabilities for
network configuration and diagnostics. With the deprecation of older tools
ifconfig, the modern Linux administrator or user will find
indispensable. As always, careful understanding of its options and reading its
outputs are vital for effective network management.
What Can You Do Next 🙏😊
If you liked the article, consider subscribing to Cloudaffle, my YouTube Channel, where I keep posting in-depth tutorials and all edutainment stuff for software developers.