名前空間ごとに1つのパブリックIPアドレス

名前空間ごとに1つのパブリックIPアドレス

Ubuntu 14.04サーバーの各名前空間にパブリックIPアドレスを接続する方法は?各名前空間に対して特定のプロセスを開始し、パブリックIPアドレスごとに特定のプロセスを開始する必要があります。

私はこれをしたい:

構成:

nameSpace1 use: publicIP1
nameSpace2 use: publicIP2
nameSpace3 use: publicIP3

端末:

nameSpace1 ffmpeg etc...
nameSpace2 ffmpeg etc...
nameSpace2 youtube-dl etc...
nameSpace2 streamlink etc...
nameSpace3 ffmpeg etc...

ベストアンサー1

不正確な可能性があるいくつかの仮定に基づく部分的な回答:

通常、ネットワーク名前空間は、どのネットワークインターフェイスがどのプロセスに表示されるかを制御します。インターフェイスにネットワーク名前空間を割り当てると、その名前空間で実行されているプロセスでのみその名前空間を表示できます。代わりに、その名前空間で実行されるプロセスは、独自の名前空間のネットワークインターフェイスのみを表示できます。

したがって、ネームスペースで実行されているプロセスが外部の世界と通信できるようにするには、基本的に2つの方法があります。 (1)ネームスペースに移動するために外部の世界に接続する既存のネットワークインターフェイスを使用し、ip link set(2)仮想イーサネットペアを作成します。 ( "パイプライン") ")、一方の端は名前空間に置き、もう一方の端はグローバルに置き、それに対するルーティング、オプションのNATなどを設定します。

OVH(少なくとも)あるようで176.31.0.0/16、によるとこのヘルプページいくつかの調査の終わりに、whois彼らはそれぞれ16個のIPアドレスで構成される4096個のブロックに分けられ、各ブロックの最初の4個と最後の4個は内部用に予約されました。これはまた、RIPEブロックを購入する顧客が4096人未満であるか、キャリアクラスのNATを使用し、あなたのIPアドレスを他の人と共有することを意味します。

したがって、/28RIPEブロックを購入して得た場合、176.31.154.160/2815番目のアドレス(176.31.154.175)はブロードキャスト用で、14番目のアドレス(176.31.154.174)はゲートウェイなので、176.31.154.161~176.31まで154.171。

OVHの場合、フェイルオーバーIP作成された仮想インターフェイスを介して追加されますeth0。したがって、使用可能な11の住所が同じ方法で処理されるとします。しかし、一部の人々は問題の報告そうするとき、これは彼らがしようとしている特定の方法に関連しているかもしれませんし、そうではないかもしれません。あなたもマクエバーランド仮想アドレスインターフェイス/ラベルの代わりにネットワークネームスペースに移動できます。したがって、慣例的に、以下で使用されているものの代わりにmac0(長い形式)を使用できます。mac0@eth0eth0:0

eth0:0これが正しいアプローチであると仮定すると、機能するために必要なものが何であれ、利用可能なすべてのアドレスへのインターフェースが生成されますeth0:10。その後、ネームスペース(ip netns add space0)を作成し、インターフェイスをこのネームスペース(ip link set eth0:0 netns space0)に移動し、ネームスペース()で正しいルーティングを設定しip netns exec space0 ip route add default via 176.31.154.174 dev eth0:0、そのネームスペース()内でアプリケーションを実行できますip netns exec space0 ffmpeg ...

完全なコンテナではなくWebスペースのみを使用している場合は、DNS解決を処理するのがやや面倒で、私の経験ではこれをネームスペースに制限することは常に機能するわけではありません(そしてそれを解決するための良い方法が見つかりませんでした)。 )が、あなたの場合は動作しない可能性がある非常に異なる設定があります。したがって、アプリケーションでネイティブIPアドレスの代わりにホスト名を使用すると問題が発生する可能性がありますが、それを修正することは別の質問の価値があるかもしれません。

編集する:考えるほど、OVHが独自のブロードキャストアドレスでアドレスブロックを設定することは、実際に複数の仮想マシンを実行するための手段として意図されたものと考えられます。各仮想マシンは、1つのIPアドレスの代わりに一意のIPアドレスを持つ必要があります。 )。ネットワークネームスペース)仮想マシンが互いに通信できるプライベートLANのようなものがあります。したがって、名前空間を使用すると、この概念を乱用する可能性が高くなります。

編集する:OVHのVPSがヘルプページの代わりに提供するものを見てみると、「13の地理的場所と16のIP」オプションが提供されることがわかりました。もしそれは購入する製品は設定方法によって異なります。これに関するヘルプページが見つからないため、その情報があなたが受信したEメールにあるとします。これらのIPアドレスをeth0インターフェイスに直接割り当てることができる場合、プロセスはデフォルトで同じですが、別のゲートウェイが必要になることがあります。

また、Webサーバーのみを実行している場合は、通常、Webサーバーに特定のIPにのみバインドするように指示できます(または複数のIPにバインドしてバインドするIPに応じて他の操作を実行することもできます)。この場合、サイバースペースが必要です。

おすすめ記事