【发布时间】:2016-01-01 22:57:31
【问题描述】:
ip netns 在/var/run/ns 中创建对(命名的)网络命名空间的引用,可以轻松跟踪。此外,同样可以通过/proc/[pid]/ns/net 确定。但是,某些自定义程序可以创建一个 net ns 并将相应的 inode 保存在其他一些非常规的位置。这会使我们难以确定是否有我们可以列出的 net ns。
其次,unshare <cmd>在进程退出时销毁net ns,这很好。但是,ip netns exec <netns> <cmd> 即使在命令/进程退出后也会保留 ns。所以我相信,任何自定义程序都可以做到这一点。
因此,问题是:自定义程序是否有可能创建一个未命名的网络 ns,并且它与任何进程不关联?
此外,如果我们不知道到 inode 的路径,是否可以从用户空间列出这样的(隐藏的)网络 ns? (内核当然有net ns的链表)一段代码sn -p会很有帮助。
【问题讨论】:
-
希望得到更多回复。任何人?谢谢!
标签: networking linux-kernel docker lxc linux-containers