そのようなソリューションのセキュリティ/パフォーマンスへの影響は何ですか?
暗号化の2つの層(SSHとOpenVPN)があるため、特に3つの関連デバイスの1つにハードウェア暗号化アクセラレーションがない場合、CPU使用率が高くなり、スループットが低下します。(それでも、SSHソフトウェアが最高のパフォーマンスを提供することはほとんどありません。)
また、ネストされたTCPフロー制御の3つの層(OpenVPN層内、SSH層内の通常のトラフィック)もあります。これはうまく機能しない可能性があります。
最後に、トンネルオーバーヘッドだけでスループットが低下します(SSHおよびOpenVPNパケットヘッダーが利用可能なベースライン1500バイトMTUに食い込んでいます)。もちろん、VPNの場合、1つの層は避けられませんが、2層にすることは顕著です。
direct: IPv4 <20> | | TCP <20> | application
vpn: IPv4 <20> | UDP <8> | OpenVPN <41> | IPv4 <20> | TCP <20> | application
yours: IPv4 <20> | TCP <20> | SSH <~20–40> | OpenVPN <41> | IPv4 <20> | TCP <20> | application
これを行うためのより良い方法はありますか?
既にVPSを持っているとして、OpenVPNのサーバを置くが - 、あなたの家のシステムが接続持って「アウト」の代わりに逆のVPSに。(はい、OpenVPNサーバーは「ホーム」クライアントと「ローミング」クライアント間で問題なくデータを転送します。
このように、クライアントで定期的なpingを有効にするか、トンネルを介して頻繁にトラフィックを維持する限り、NAT関連の問題なしでUDPを使用することさえできます。
tunモードVPN を使用している場合、サーバーはLANサブネットのを介してカーネルルートを必要tun0
とし、それから同じサブネットのOpenVPN irouteをホームVPNクライアントのアドレスを介して必要とします。(tapモードVPNでは、両方を組み合わせた単一のカーネルルートです。)