Task-centered iproute2 user guide
A Practical, Task-Oriented Guide to iproute2
This manual serves as a comprehensive, action-based reference for the iproute2 suite, focusing on how to achieve specific networking goals rather than simply listing command flags.
🗺️ Navigation Map (Task Index)
The following table outlines the operational capabilities covered in this guide.
| Category | Key Tasks & Capabilities |
|---|---|
| IP Addressing | management, filtering by interface state, adding/removing addresses, and managing primary IPs. |
| Neighbor Tables | ARP and NDP viewing, flushing tables, and manual entry manipulation. |
| Network Links | Link status, MTU changes, MAC address modification, and interface renaming. |
| Virtual Interfaces | Creating VLAN, QinQ, MACVLAN, Dummy, Bonding, and Veth pairs. |
| Link Groups | Grouping interfaces, assigning symbolic names, and bulk operations. |
| Bridge Management | Bridge creation, port isolation, VLAN-aware bridging, and forwarding tables. |
| TUN/TAP | Root/User device creation, packet format customization, and flow control. |
| Tunneling | IPIP, SIT, GRE (including p2mp), and IPv6 tunnel management. |
| L2TPv3 | UDP/IP tunnels, session management, and detailed status viewing. |
| Overlay Networks | Unicast/Multicast VXLAN and GENEVE (with custom UDP ports). |
| Routing | Gateway/Interface routes, Blackhole routes, Multipath, and Route Cache. |
| Policy Routing | Rule creation based on source/dest, ToS, firewall marks, and User IDs. |
| VRF & Namespaces | Virtual Routing and Forwarding, Namespace isolation, and process binding. |
| Multicast & Monitoring | Group management, rtmon logs, and real-time network event tracking. |
| System Config | netconf for viewing sysctl settings per interface. |
🔍 Overview of iproute2
The iproute2 collection is the modern standard for Linux networking, designed to supersede a variety of obsolete legacy utilities.
Legacy vs. Modern Tooling
The transition from old tools to the new suite can be summarized as follows:
| Legacy Tool | Modern iproute2 Equivalent | Primary Purpose |
|---|---|---|
ifconfig | ip addr / ip link | Interface & Address config |
route | ip route | Routing table management |
arp | ip neigh | ARP/Neighbor cache |
brctl | bridge / ip link | Bridge configuration |
vconfig | ip link | VLAN management |
The Ecosystem Architecture
The toolkit is not just one command, but a suite of specialized utilities.
Key Technical Details:
- Authorship: Originally developed by Alex Kuznetsov; currently maintained by Stephen Hemminger.
- Installation: Typically found in packages named
iproute2oriproute. - Path Warning: The
ipbinary is frequently located in/sbin. Because of this, it might not be in the$PATHfor non-privileged users.
📖 About this Document
"Historically, the documentation for
iproute2has been a significant pain point for users."
While the official man pages are technically accurate regarding available options, they are notoriously devoid of practical examples. This guide is designed to fill that void.
Design Philosophy
- Task-Centered: Instead of a dictionary of subcommands, this guide is organized by the goal you want to achieve.
- Scope: It provides deep dives into
ipandbridge, and essential info onss. - Exclusions: Due to its immense complexity,
tc(Traffic Control) is considered a separate project and is not covered in this specific manual.
User Checklist for Getting Started
- Verify
iproute2is installed. - Ensure you have
sudoor root access (required for most commands). - Check if
/sbinis in your environment path.
🛠️ Technical Conventions
Typographic Standards
inline coderepresents commands, flags, or file paths.- Bold text highlights critical terms.
- Italics are used for emphasis or names.
Scripting & Usage
When using these tools in scripts, consider the following:
- Abbreviation: Many
ipcommands can be shortened (e.g.,ip ainstead ofip addr). - Addressing: The toolkit handles both and seamlessly.
- Consistency: Always verify the state of a link before applying routing changes.
Contributors & Legal
- Copyright: 2013–2025, Daniil Baturin and contributors.
- Last Updated:
2025-09-17