VPNを介してトラフィックを別のサーバーに再ルーティングする方法

VPNを介してトラフィックを別のサーバーに再ルーティングする方法

現在、2つのサイトに環境を設定しています。すべてのサーバーはlinux / ubuntuです。最初のサイトは私のオフィスで、2番目のサイトはAWSです。 AWS の VPC には、サイト間 VPN がある 2 台のサーバーがあります。 Web01 - 172.31.24.106 Revproxy01 - 172.31.17.216

オフィスにサーバー1台とIPカメラ1台があります。 Server1 - 192.168.102.1 Camera1 - 192.168.102.79

VPNはServer1(IPSec Strongswan)にあり、AWS側に接続されているAWSサイト間VPNで構成されています。

多くの研究と時間を経て、すべてを準備して実行しました。 Web01とRevproxy01はServer1をpingでき、Server1はWeb01とRevproxy01をpingできます。

次のステップは、Web01とRevProxy01でCamera1をpingできることです。最終的にweb01とRevproxy01からカメラhttpフィードにアクセスしたいと思います。

Web01からServer1を介してCamera01にデータを渡すには、(Server01で)パスを設定する必要があるようです。

誰かの助けとこれを行う方法を学んだら、本当に感謝します。

ベストアンサー1

いいですね。ルーティングがどのように機能するかを知っていることを知りません。したがって、これを説明し、私の説明を通してあなたがどれほど理解しているかを確認したいと思います。実際、より多くのホイールが回転するため、この説明は完全に正確ではありませんが十分です。

ネットワーク内のすべてのホップでは、IPスタックはすべての着信IPパケットを調べます。それは比較する目的地IPアドレスと対応するルーティングテーブル。にルーティングテーブルを表示できますip route

まず、パケットのIPが独自のインターフェイスの1つと一致することを確認します。その場合、パケットの宛先はホップ自体であり、ホップはパケットを「食べる」(TCPスタックの上にプッシュ)。

パケットの宛先がホップ自体ではない場合、ホップは自身のルーティングテーブルを調べ、最も重要なルートから最も重要でないルートに巡回します。 Aは、/2432ビットのうち24ビットが有効であることを示します。もしそうなら、Aは/16それほど重要ではありません。 IPスタックの場合、ip routeパケットのIPアドレスは下から上に露出したルートと比較されます。パケットのIPに一致する最初のルートが勝ちます。したがって、宛先IP 192.168.102.10にルーティングテーブルを通過すると、ルート192.168.0.0/16はパケットと一致します。 192.0.0.0/16 パスはそうではありません。このsipcalcツールを使用してネットワークアドレス情報を表示できます。

最後に、一致するパスがすべてに一致するデフォルトパスになります。

各パスには、パケットが送信されるネクストホップが含まれています。で次のホップをよりよく見ることができます/sbin/route -n。ルートとして表示されるネットワークがそのホップ内のネットワークインターフェイスに直接接続されているかどうかに応じて、ルータ列またはインターフェイス列。

パケットがVPNトンネルを通過すると、IPパケットは別のパケットにラップされます。したがって、お客様の場合、VPN入口および出口ポイントの内部IPのみが計算されます。パケットは「魔法のように」エントリポイントに入り、終了ポイントから飛び出します。

これで、送信元ホルダーと宛先ホップを含む、パケットが取る必要がある各ホップパスを決定できます。目的のパスが選択されていない場合は、そのパスを追加する必要があります。これは192.168.102.79/32(すべての部分が重要です。単一のホストにのみ一致します!)とも呼ばれる単一のホストパスです。何を見つけるべきかについてのいくつかの例ですip route add

また、あなたが望むのは、パケットがホップを通過するときに観察することです。使用してくださいtcpdump -n -i interface(f.ex. tcpdump -n -i eth0)。したがって、hop1を通過するパケットを見てhop2に移動する必要があると思いますが、hop2を通過できない場合、hop1のルーティングが正しくないため、パケットを間違った宛先に送信する可能性があります。

これにより、送信元から宛先までの各ルーティングテーブルをホップで分析し、パケットのパスを確認できます。しなければならない各ホップでパケットが正しいパスを取って実際にtcpdump

出発地から目的地までの2つのルートがあることに注意してください。そして後で正しく設定する必要があります。

間違ったルーティングにより、ネットワーク経由でコンピュータにアクセスできなくなる可能性があります。したがって、ネットワークを介さずにスタンドアロンのメカニズムを介してコンピュータを再起動する方法が必要になる場合があります。

ルーティングが正しく機能している場合は、再起動後も持続することを確認してください。 F. フロント。新しいパスを作成します/etc/network/interfaces(登録する必要がある場所は、システム上のネットワークスタックの設定方法によって異なります。これはUnix、Linuxディストリビューションなどによって大きく異なります)。

これがあなたにもっと役立つことを願っています。

おすすめ記事