SSHトンネルを介したOpenVPN


0

OpenVPNを使用してホームネットワークに接続しようとしています。ルーターがISPのルーターの背後にあるため、二重NATの問題が発生しています(ルーターのWANポートのIPアドレスは10.x.x.x)。ISPにはパブリックIPアドレスを直接提供できません。そのようなオプションがないため、着信接続ができません。

私のネットワーク構成

インターネットからホームネットワーク上のコンピューターにアクセスしたい。

私がやろうと思うのは、OpenVPNサーバーを実行している私のホームサーバーから、パブリックIPを持っているVPSへのsshトンネルを作成することです

autossh -M 10984 -i /root/.ssh/pubkey -R 1194:localhost:1194 me@myvps

次に、OpenVPNサーバー/クライアントを設定tcpしてudp、オーバーを使用して接続しますmyvps:1194

だから私の質問は:

  1. これを行うためのより良い方法はありますか?
  2. そのようなソリューションのセキュリティ/パフォーマンスへの影響は何ですか?

回答:


0

そのようなソリューションのセキュリティ/パフォーマンスへの影響は何ですか?

暗号化の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では、両方を組み合わせた単一のカーネルルートです。)


ご回答有難うございます!VPSに接続するようにホームルーター(OpenVPNをサポートしている)を構成し、ホームネットワークの外部から同じVPSに接続すると(たとえば、3gの電話を使用)、DNS名でホームサーバーにアクセスできます(dnsmasqを使用して)ルーターで構成されているか、追加のルーティングを行う必要がありますか?
hurlenko
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.