Linux Network Namespace を使うと 1 つの Linux ホストの中に仮想的なネットワーク環境を複数作れる。今回はサーバ、ゲートウェイ、クライアントの 3 つのネームスペースを作って通信させてみる。この機能を使うには新しめの Linux カーネルとツール群が必要みたいなのでディストリビューションには Ubuntu 13.04 を使った。 まずは各ネームスペースを作る。 $ sudo ip netns add server $ sudo ip netns add gateway $ sudo ip netns add client $ ip netns list client gateway server ネームスペース gateway をルータにしたいので IP 転送を有効にする。 ip netns exec コマンドを使うことで各ネームスペース上でコマンドを実行でき