同じサブネットに属する 2 つのネットワーク名前空間があるとします。このコンテキストでは、同じ 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);
Linux 名前空間を渡す API はありますか、またはこれを実現するネイティブの既存のライブラリがあり、Java から呼び出すことができますか?
アップデート:
名前空間を切り替えるために C プログラム内で使用されるNetlink Protocol Library Suite ( http://www.infradead.org/~tgr/libnl/ ) があります。Linux名前空間を切り替えるために、このライブラリを使用するJava APIが存在するかどうかは誰にもわかりません。
ポインター、ヘルプ、または詳細情報は大歓迎です!
タンク、
バベシュ