複数のネットワークへのOpenVPNのネットワークルーティング

複数のネットワークへのOpenVPNのネットワークルーティング

VPN クライアントを VPN サーバーに接続し、そのクライアントが VPN サーバーも提供できるようにしたいと考えています。ルーティングを正しく行うことができません。

最終目標を説明してみたいと思います。

私が考えているネットワークの簡単な図

サーバー/クライアント側のすべてのクライアントが左側のすべてのシステムと通信できるようにし、ルートを戻すこともできるようにします。

何時間もやっているのですが、ルーティングを正しく設定できません。

何か助けてください?

答え1

(topology subnetすべてのサーバーとクライアントに使用されていると想定しています。回答は、タップ アプローチに適用される場合と適用されない場合があります。)

10.8.0.0/24からにルーティングするには10.10.0.0/24、次の手順に従います。

  1. 2つのtunインターフェース間のIP転送を許可する10.8.0.1/24
  2. 10.10.0.0/24トラフィックがトンネルにルーティングされるように、クライアントにルートをプッシュします。

10.10.0.0/24からにルーティングするのは少し複雑です10.8.0.0/24。基本的に、この側で必要なのは、サーバーではなくクライアント経由でルーティングすることです。目的の「ゲートウェイ クライアント」を他のクライアントの として設定すればいいと思うかもしれませんroute-gateway。しかし、実際には、それは問題ではありません。

特定のクライアントを特定のルートのゲートウェイにするには(10.8.0.0/24この場合)、次の手順に従います。

  1. 共通名 (CN) をファイル名として、 「CCD」ファイルを追加します (--client-config-dir詳細については、openvpn のマニュアルを参照してください)。ファイルに、 を追加しますiroute 10.8.0.0 255.255.255.0
  2. client-to-clientのサーバー設定に追加します10.10.0.1/24
  3. という名前の「CCD」ファイルを追加しますDEFAULT。 ファイルに を追加しますpush "route 10.8.0.0 255.255.255.0"
  4. からアクセスしたい場合(または を避けたい場合)はroute 10.8.0.0 255.255.255.0、 のサーバー設定に追加します。10.10.0.1/2410.8.0.0/24client-to-client

編集:client-to-clientの 2 つの tun インターフェイス間で IP 転送も許可されている場合は、を回避できます10.10.0.1/24。 がない場合client-to-clientirouteはサーバー自体にのみ適用されます。その場合、クライアントのトラフィックは、最初に「内部的に」 にルーティングされ10.10.0.1/24、次に にルーティングされます (サーバーに とが適用されている10.8.0.1/24ため)。routeiroute

関連情報