リモートIPバインディング

リモートIPバインディング

2つのサーバーがあり、そのうちの1つが別のサーバーの外部IPを使用できるようにしたいです。サーバーAには20個のIPがあり、サーバーBには5個があるので、BにAの5個のIPを使用させたいと思います。

どうすればいいですか? AからBまで5つのopenvpnトンネルを作成する必要がありますか?私の目標は、サーバーBに10の異なる発信IPを持つことです。

ベストアンサー1

まあ、広く言えばそれはあなたの選択です。私はあなたが調査をしたいと思う場合は、その後の質問をすることができると思います。この議論では、AはBで使用するIPアドレスを所有しています。

ネットワークアドレス変換

トラフィックはAにルーティングされます。その後、AはSNATおよびDNATを行う。残念ながら、これは実際には以下でのみ機能します。着信つながる国を離れたいと思いますね。ただし、BでDNATを実行し(Aに接続を送信)、AでSNATとDNATを実行して正しいIPで接続を送信することでこれを達成できます。

これは、サービスへのトラフィックを受信する最も簡単な2つの方法の1つであり、もう1つはプロキシです。発信トラフィックの場合、実際よりも複雑に見えます。いくつかのiptablesコマンドしかありません。

ワークロードの分散

A から発信する接続を作成します。生成されたデータをBに送り返します。確かに設定するには少し作業が必要ですが、最もスケーラブルなソリューションです。完了したら、必要に応じてサーバーC、D、Eなどを追加できます。

AでHTTPまたはSOCKSプロキシを設定できます。次にBでプロキシに接続します。 Aの複数のIPに負荷を分散するようにプロキシを設定できます。

OpenSSH ポート転送は基本的に同じアイデアです。既存の接続を介してポート転送を動的に変更できますが、どれくらいの速度になるかはわかりません。 OpenSSHがアウトバウンドアプリケーションで機能しない可能性があります。

トンネル

トンネルを作成する方法はいくつかあります。基本的なトンネルは、暗号化されていないトンネル(IPIPやGREなど)と暗号化されたトンネル(OpenVPNやIPsec ESPなど)です。

基本的にこれがすべて機能する方法です。 2 つのサーバー間に仮想リンクを確立します。その後、イーサネットケーブルやシリアルラインと同様に、通常のカーネルルーティングメカニズムを使用してリンクからトラフィックを転送します。 1つのリンクを介して必要なだけ多くのアドレスを送信できます。

リバースパスフィルタリングをオフにできない場合は、発信パケットがデフォルトゲートウェイに直接移動するのではなく、リンクを通過するようにポリシールーティングを実行する必要があります。

多くのトンネルにはMTUを下げる欠点があります。 TCP MSSを減らして補償できる必要があります。あるいは、MTUを下げることはできませんが、断片化が多く発生します。

トンネルを設定すると、下の専用線と同様に、あなたのIPがBのローカルIPになります。他の方法はそうではありません。

専用回線

サーバーBでより多くのIPを購入することは確かにより安いので、完全性のために含まれていましたが、サーバー間でT1などを借りることができます。その後、トラフィックをルーティングできます。

悪いことをしないでください。

この問題に関する残りのコメントを読んだ後にブロックされない主な方法は、悪口を言わないことです。リクエストの割合をできるだけ低く保ち、丁寧robots.txtにしてください。

おすすめ記事