ip is the primary command for configuring Linux networking in the iproute2 suite. It replaces the older ifconfig, route, arp, and others with a unified, powerful tool. Every interface, address, route, and tunnel is managed through ip, and modern distributions no longer install the legacy tools by default.
ip addr # show addresses
ip link # show links
ip route # routing table
ip -s link show eth0 # interface stats
sudo ip link set eth0 up # bring interface up
sudo ip addr add 192.0.2.10/24 dev eth0 # assign address
sudo ip route add default via 192.0.2.1 # add default route
ip neigh # ARP/neighbour table
ip netns # network namespaces
The subcommands cover every modern feature: tunnels (ip tunnel), rules (ip rule), multi-table routing, policy routing, VRFs, and network namespaces (which containers depend on). It can also configure VLANs, bridges, bonds, and TUN/TAP interfaces.
For temporary changes, ip commands take effect immediately but do not persist across reboots. Persistent configuration is handled by distribution-specific tools: /etc/network/interfaces (Debian), NetworkManager (most desktops), systemd-networkd (modern minimal systems), or netplan (Ubuntu).
Related terms: IP Address
Discussed in:
- Chapter 12: Networking — ip: The Modern Interface Tool
Also defined in: Textbook of Linux