iproute2
2024-10-28 15:32:15 阿炯

iproute2(互联网协议路由2)是一组用户空间实用程序,用于控制和监视Linux内核中网络的各个方面,包括路由、网络接口、隧道、流量控制和与网络相关的设备驱动程序。在GPLv2许可证条款下发布的开源项目。它的开发与Linux内核的网络组件的开发密切相关。截至2013年12月,iproute2由Stephen Hemminger和David Ahern维护,原作者Alexey Kuznetsov负责在Linux内核中实现服务质量(QoS)。

iproute2是Linux上有关互联网协议包的一系列工具,这一系列的工具包括了以下工具集:ss、ip、lnstat、nstat、rdma、routef、routel、ctstat、rtstat、tc、bridge、devlink、rtacct、rtmon、tipc、arpd、genl。

Iproute2集合包含以下命令行实用程序:arpd、bridge、ctstat、dcb、devlink、ip、lnstat、nstat、rdma、routef、routel、rtacct、rtmon、rtstat、ss、tc、tipc和vdpa。tc用于流量管制。iproute2实用程序使用netlink协议与Linux内核通信,一些实用程序经常被推荐,而不是现在已经过时的提供相同功能的net-tools实用程序。下表列出了一些过时的实用程序和它们的替代品。

Utilities obsoleted by iproute2
Legacy utilityReplacement commandNote
ifconfigip addr, ip linkAddress and link configuration
routeip routeRouting tables
arpip neighNeighbors
iptunnelip tunnelTunnels
nameif, ifrenameip link set nameRename network interfaces
ipmaddrip maddrMulticast
netstatss, ip routeShow various networking statistics
brctlbridgeHandle bridge addresses and devices

多数Linux发行版和UNIX发行版目前都在使用古老的arp、ifconfig和route命令。虽然这些工具可以工作,但它们在Linux v2.2及更高版本下会显示出一些意想不到的行为。例如,GRE隧道是当今路由的一个组成部分,但需要完全不同的工具。隧道功能的工具集已经则是iproute2组成部分。

v2.2及以上版本的Linux内核包括一个完全重新设计的网络子系统。这个新的网络代码带来了在普通操作系统领域几乎没有竞争对手的Linux性能和特性集。事实上,新的路由、过滤和分类代码比许多专用路由器、防火墙和流量整形产品提供的功能更强大。

随着新的网络概念的出现,人们已经找到了将它们置于现有操作系统中现有框架之上的方法。这种不断分层的繁琐程序导致网络代码充满了奇怪的行为,就像大多数人类语言一样。在过去,Linux模仿了SunOS对这些事情的处理,这并不理想;而这个新框架使得清晰地表达以前Linux无法实现的特性成为可能。


简易参考:linux-iproute2-cheatsheet

最新版本:6.11

项目主页:https://wiki.linuxfoundation.org/networking/iproute2