web-dev-qa-db-ja.com

GREトンネル(またはNAT?)でIPを使用して仮想化する

まあ、これは私が経験している状況です:

OVHサーバー(GAMEカテゴリ)の最大RAMは64GbのRAMであり、さらに必要なため、OVHの専用サーバーと他社の専用サーバーがあります。 OVHに実際に割り当てられているIPを使用するために、GREトンネル(またはNATトンネル?私は推測しますか?別のサイトでそれを見たのかわかりません))を作成したい明確にするために、これらのIPで仮想化できるように、他の専用サーバー上のサーバー:

DDoSで保護されているサーバー1と、まったく保護されていないサーバー2があります。

使命は次のとおりです。サーバー2でDDoS保護されたVPSを作成します。

そのためには、サーバー1に割り当てられているIPを使用する必要があります。そのためには、どのタイプのトンネルを使用する必要がありますか。また、どのように使用する必要がありますか(トンネルのタイプを教えても、まったく新しいのでと思いますので、ガイドをリンクして頂ければと思います)?

前もって感謝します!

よろしく。

2
Matthew

サーバーの前にあるデバイスにDDoS保護が実装されている場合、Linuxボックスが2つあれば、GREまたはIPIPトンネルのいずれかを使用できます。 IPIPトンネルはLinuxOSでのみ機能します(GREはより相互運用可能、つまりCiscoとの相互運用性があります)が、さらに重要なことに、ipipトンネルはユニキャストパケットにのみ適しています。ブロードキャストは送信されません。

最近のカーネルとiproute2パッケージがインストールされていることを考えると、これは非常に単純です。トンネルを作成するには、トンネルの両端(サーバー1とサーバー2)に仮想インターフェイスを作成する必要があります。以下のようなものが機能するはずです:

root@server1:~$ ip tunnel add tunnel0 mode gre remote server2_ip
root@server1:~$ ip link set dev tunnel0 up
root@server2:~$ ip tunnel add tunnel0 mode gre remote server1_ip
root@server2:~$ ip link set dev tunnel0 up

次に、server1にserver2に割り当てるIPアドレスが構成されていないことを確認し、server1にルートを追加してserver2IPに参加させます。

root@server1:~$ ip r a ovh_ip dev tunnel0

そして、IPをserver2に追加します

root@server2:~$ ip a a ovh_ip/32 tunnel0

この時点で、server1はserver2のovh_ipにpingできるはずです。

次に、インターネット上のどこからでもovh_ipに到達できるように、server1をルーターとして構成する必要があります。ただし、この単純な構成では、server2でのルーティングは非対称であり、ovh_ipに着信するパケットはインターフェイスtest0を介して入力され(したがって、hoster2ルーターはGREパケットを認識します)、応答パケットはserver2デフォルトゲートウェイを介してルーティングされます(hoster2ルーターは通常のIPパケットを参照してください)。これにより、一部のファイアウォールやLinuxrp_filter保護で問題が発生する可能性があります。問題がないことを確認してください。問題がある場合は、パケットがserver1のtunnel0を通過するときに、追加のソースNATを追加して、ルーティングを対称にする必要があります。

お役に立てば幸いです

1
alxgomz