まず最初に言っておきますが、私はネットワークに詳しい人間ではありません。このプロジェクトは私の専門外なので、アドバイス、提案、流行語などがあればぜひ教えてください。
複数のリモート クライアントが携帯電話接続を使用してインターネット経由で相互に接続できるネットワークを設計したいと考えています。
Client001
私のシナリオでは、、、の3 台のリモート クライアント PC があるとします 。各クライアント PC はClient002
、Client003
SIM カード付きの独自の 3G セルラー ルーターの背後にあります。これらの PC がインターネット経由で互いを認識し、少なくとも IP アドレスで互いに ping を実行できるようにしたいと考えています。
箱から出してすぐに、各セルラー ルーターの IP アドレスはセルラー ネットワーク内で「プライベート」であると思います。つまり、Client001
背後の PC から のルーターのセルラー IP アドレスに ping をClient002
実行しても、応答が返ってくるとは限りません。さらに複雑なことに、各ルーターのセルラー IP アドレスは動的に割り当てられます。ルーターが再起動するたびに変更されるようです。したがって、ping を実行できたとしても、静的ではありません。
携帯電話プロバイダーからパブリック/静的 IP アドレスを手頃な価格で購入できると思いますが、すべてのクライアント間で VPN を確立することでこの問題を解決できないでしょうか...
この特定のメーカー/モデルのルーターは、OpenVPN クライアントとしての動作をサポートしています。
大まかに言うと、OpenVPN サーバー (Untangle、Access など) を立ち上げ、セルラー ルーターを OpenVPN クライアントとして動作するように構成し、サーバーに向ける (つまり VPN を確立する) と、接続の問題が解決するはずですよね?
クライアント PC が VPN に接続されたセルラー ルーターに接続されている限り、すべてのクライアントは VPN によって確立された何らかの内部/ローカル IP アドレスを使用して相互に通信できるはずですよね?
これらすべてが当てはまる場合、クライアント PC (VPN 上のルーターの背後) の IP アドレスはどのように決定されるのでしょうか。静的ですか、動的ですか。可能であれば、ルーター/クライアント PC を再起動しても、IP アドレスによって特定のクライアント PC に確実にアクセスできるようにしたいと思います。これは実現可能でしょうか。
私の例に基づいた予備スケッチを以下に示します。
答え1
untangle についてはわかりませんが、独自の OpenVPN サーバーを実行している場合は、確かにこれを実行できます。
を有効にするとclient-to-client
、さまざまな openvpn クライアントが VPN によって提供される IP を使用して相互に通信できるようになります。
デフォルトでは、これらの IP は動的に割り当てられますが、クライアントごとに 1 つの構成ファイル (証明書内の CN によって識別) を保持できるディレクトリを設定できるようにして、そのクライアントに特定の IP (特定のクライアントに割り当てられる)client-config-dir
を割り当てることができます。ipconfig-push 10.8.0.5 10.8.0.6
10.8.0.5