假设我们有两个属于同一个子网的网络命名空间。在这种情况下,我的意思是相同的 IP 地址,但需要采取不同的路线才能到达。
ip netns add myns1
ip netns add myns2
Java 程序在 Linux 全局命名空间中运行,从 Java 中,我如何使用 Linux 命名空间进行连接?
Socket s = new Socket(ip, port);
// the following allows to pass which name space to select...
Socket nameSpace Socket = new SocketWithNameSpace(ip,port,namespace);
是否有任何 API 可以传递 Linux 命名空间,或者是否有任何本机现有库可以实现这一点并且我可以从 Java 调用?
更新:
Netlink 协议库套件 ( http://www.infradead.org/~tgr/libnl/ ) 在 C 程序中用于切换命名空间。有谁知道是否有任何使用该库的 Java API 用于在 Linux 名称空间之间切换。
非常感谢任何指针或帮助或更多信息!
坦克,
巴韦什