#设备 #ip #显示 #网络 #路由 #命令 #Linux

bin+lib ip-command

Linux ip(8) 命令的 Rust 包装器。显示/操作路由、网络设备、接口和隧道。

1 个不稳定版本

0.1.0 2020 年 2 月 12 日

#51#显示

Apache-2.0

97KB
2K SLoC

ip-command

Linux ip(8) 命令的 Rust 包装器。由 Tokio 支持,具有完整的 async/await 支持。

为什么?

  • Rust 对 netlink 的支持不成熟。
  • 为什么我的应用程序需要直接与内核通信?
  • 无处不在,可在所有平台上使用,无需分发二进制文件。
  • 不太可能成为性能瓶颈,如果是这样,你可能与内核的通信过于频繁。
  • 不依赖于内核数据结构,提高了可移植性。

状态

iproute2 工具具有大量可调节的旋钮和开关,该项目虽然提供了框架,但尚未支持底层工具的所有功能。随着时间的推移,这种覆盖范围预计将得到改善。

功能覆盖范围

  • 网络设备(链路)。
  • 设备的协议地址(addr)。
  • 地址标签(addrlabel)。
  • 路由表条目(route)。
  • 路由策略规则(rule)。
  • ARP 或 NDISC 缓存条目(neigh)。
  • 邻居缓存操作(ntable)。
  • IP 上的隧道(tunnel)。
  • 管理 TUN/TAP 设备(tuntap)。
  • 组播地址(maddress)。
  • 组播路由缓存条目(mroute)。
  • 组播路由策略规则(mrule)。
  • 监控 netlink 消息(monitor)。
  • 管理 IPSec 策略(xfrm)。
  • 管理网络命名空间(netns)。
  • IP 上隧道以太网(l2tp)。
  • 管理 TCP 指标(tcp_metrics)。
  • 管理标记接口标识符(token)。
  • MACsec 设备配置(macsec)。

即将推出的功能

待定

依赖项

~6.5MB
~112K SLoC