私は別の名前空間を使用して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