#namespaces #linux #networking #container

netns-rs

一个用于在Rust中处理Linux网络命名空间的库

1个不稳定版本

0.1.0 2022年4月25日

#57 in #namespaces

Download history 2598/week @ 2024-03-14 2176/week @ 2024-03-21 2241/week @ 2024-03-28 2224/week @ 2024-04-04 2532/week @ 2024-04-11 2578/week @ 2024-04-18 2424/week @ 2024-04-25 2321/week @ 2024-05-02 2369/week @ 2024-05-09 2325/week @ 2024-05-16 2314/week @ 2024-05-23 2690/week @ 2024-05-30 2038/week @ 2024-06-06 2291/week @ 2024-06-13 2555/week @ 2024-06-20 2111/week @ 2024-06-27

9,425 每月下载量

Apache-2.0

20KB
383 代码行

netns-rs

static UT codecov

netns-rs包提供了一个超简单的接口来处理Rust中的网络命名空间。更改命名空间需要提升权限,因此在大多数情况下,需要以root用户身份运行此代码。

此包仅支持Linux内核。

构建

cargo build

测试(作为root)

CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="sudo -E" cargo test

sudo -E cargo test

致谢

到目前为止,主要的资源是netns(golang)的源代码,CNI网络插件iproute2

替代方案

https://github.com/little-dude/netlinkrtnetlink/src/ns.rs提供了相同的功能,但其创建新进程中的netns感觉有点重。

许可证

此代码根据Apache-2.0授权。

依赖

~2.5MB
~54K SLoC