ネットワークネームスペース全体でループバックインターフェイスを共有する

ネットワークネームスペース全体でループバックインターフェイスを共有する

私は別の名前空間を使用してVPNクライアントを実行することで、その名前空間で実行されているすべてのプロセスがVPNを介してインターネットにアクセスできるようにしたいと思います。この部分を正常に完了しました。

ただし、一部のプログラムは、ループバックインターフェイス(VPNを使用してインターネットと通信したいデーモン、コンピュータの正規IPを介してアクセスしようとしている別の管理インターフェイス)を介して通信し、互いに見ることはできません。 。

グローバルネームスペースと同じループバックを使用するようにネットワークネームスペースを設定する方法はありますか?

答え1

いいえ、これを行う方法はありません。これにより、ネットワーク名前空間の分離の概念が崩れます。これらの分離を「脱出」する唯一の方法は veth インタフェースです。

もっと詳しく言えば、ネットワークネームスペース間のループバックインターフェイスを何らかの形で「共有」するだけの問題ではありません。各ネットワーク名前空間は、論理的に独自のルーティング、ファイアウォールルール、およびネットワークデバイスを備えたネットワークスタックの別のコピーです。この「共有」に関しては、どのルーティングテーブルとファイアウォールルールが適用されますか?異なるネットワーク名前空間で同じTCP / IPアドレスとポート番号をバインドして受信する複数の異なるプロセスがあります。それでは、どのプロセスが着信パケットを受信しますか?これは基本的には機能しません。

答え2

あなたは共有できませんループバックまたは、実際には名前空間を持つすべてのインターフェース。しかし、あなたは作ることができますループバックインターフェイスはグローバルと同じアドレスを持ち、すべて独立して動作します。

たとえば、
名前空間に以下を作成できます。

lo:11     Link encap:Local Loopback
          inet addr:127.0.1.1  Mask:255.0.0.0
          LOOPBACK  MTU:65536  Metric:1

lo:       Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          LOOPBACK  MTU:65536  Metric:1

関連情報