web-dev-qa-db-ja.com

OpenVPNTAPとTUNの並行

既存のOpenVPNサーバーのセットアップと、アクセスを拡張する必要があるという要件についていくつか質問があります。

現在の設定は次のとおりです。

  • 1つのOpenVPNサーバー(TAPモード)
  • 複数のVMホストマシンがOpenVPNサーバーと同じサブネットに物理的に接続されているサーバー
  • 複数のVM OpenVPNサーバーに接続されたサーバーが、上記のサブネットにアクセスするクライアントとして
  • 上記のサブネットにアクセスするためのクライアントとしてOpenVPNサーバーに接続している複数のエンドユーザー

現在の使用法では、このセットアップは問題なく機能します。接続された各デバイス/ユーザーはIPを取得し、すべてが順調です。ただし、iOS/Androidデバイスに接続できるようにする必要があり、ドキュメントと https://community.openvpn.net/openvpn/wiki/BridgingAndRouting から、これにはOpenVPNが必要であることを理解しています。 TUNのセットアップ。また、OpenVPNサーバーの各インスタンスは1つのモードでのみ実行できるようです。同じOpenVPN構成でTAPとTUNの両方を持つことはできません。

これらは質問です:

  • 現在のOVPNサーバーにOpenVPNの別のインスタンスをセットアップし、それをTUNモードに設定した場合、そのOpenVPNに接続しているクライアントデバイスは、OVPNサーバー上でローカルなものしか見ることができませんか?または、すでに存在するTAP OVPN設定により、サブネット上のすべてのデバイスを表示できますか?

  • 上記の答えが、そのクライアントデバイスがOVPNサーバー上にあるものだけを見ることができ、他には何も見ることができないという場合、人々がモバイルデバイスアクセスを容易にするために使用したこのセットアップの代替手段はありますか?現在TAP経由でクライアントとして接続しているVMの1つにOVPNサーバーをセットアップし、そこでTUNを使用してその1台のマシンへのアクセスを許可できますか?

残念ながら、環境の制限により、既存のTAP OVPNをTUNに切り替えてそのままにすることはできません(TUN構成を誤解していて、それが現在のセットアップの代わりとして機能し、現在のすべてのVMとクライアントデバイスが接続するだけでなく、Android/iOSに接続しますか?).

この問題について提供できる洞察をありがとうございます。

2
Adam Blalock

TUNモードでは、VPNクライアントにIPを提供するサブネットはVPNサーバー上で「仮想」です。 TUNモードはレイヤー3で機能し、このサブネットにはレイヤー2はありません。 OpenVPNは独自のメカニズムを使用して、クライアントのVPN IPに向けられたトラフィックを正しいトンネルに入れます(クライアントに到達するため)。そのため、この同じ(vpnクライアント)サブネット内にvpnクライアントとローカルマシンを混在させることはできません。それらは常に異なるサブネットにある必要があり、ルーティングによって両方向に到達可能である必要があります。

したがって、ローカルファイアウォールルールが設定されていない限り、tun経由で接続されたvpnクライアントは、openvpnサーバーのルーティング構成にパスがあり、があるすべてのターゲットに到達できるはずです。戻る道。最後のポイントが最も重要です。接続する各ローカルマシンには、VPNクライアントサブネットへのパスが存在する必要があります。 VPNサーバーは、ローカルルーティング構成でこのサブネットのゲートウェイとして知られている必要があります。

モバイルデバイスへのアクセスを容易にするために人々が使用したこのセットアップの代替はありますか?

良いものはありません。 PlayストアにはOpenVPNクライアントがあり、VPN APIで利用できないレイヤー2をエミュレートします。これは、いくつかの(ほとんどの場合)で機能します。しかし、それは一種のハックであり、 公式クライアントの開発者はそれに反対することを決定しました

現在TAP経由でクライアントとして接続しているVMの1つにOVPNサーバーをセットアップし、そこでTUNを使用してその1台のマシンへのアクセスを許可できますか?

はい。 TUN-VPN-tunnelを使用する任意の場所からこのOpenVPNサーバーに接続できる必要があります。したがって、ほとんどの場合、パブリックルーテッドIPが必要になります。その場合、マシンのローカルルーティングは問題ありません。

1
Enno Gröper