Linux网络命名空间和使用Linux网络命名空间从Java程序连接

时间:2015-09-11 20:08:40

标签: java linux networking linux-kernel virtual-network

假设我们有两个属于同一子网的网络命名空间。在这种情况下,我的意思是相同的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名称空间之间切换。

非常感谢任何指针或帮助或更多信息!

坦克,

Bhavesh

0 个答案:

没有答案