Vpn接続をバイパスして、インバウンドトラフィックを直接受け入れながら、vpnを介してアウトバウンド/アウトバウンドトラフィックのみをルーティングすることは可能ですか? UDPパケットのルーティングに主に関心があります。
私が見たのは 問題に関するlinux/unixに関する質問 で、ルーティングテーブルを使用すると便利です。複数のサービスとクライアントを調査しましたが、この機能を提供するものはないようです。それは単に非常にニッチな機能ですか、それともWindowsマシンでは技術的に実行可能ではありませんか?
VPNはWindowsとLinuxの両方で同様に機能します。VPNは、ドライバーをインストールする仮想TAPネットワークアダプターを作成します。ドライバーはVPNプロバイダーのサーバーと常に接触しており、発信および着信接続この仮想アダプター上を処理します。デフォルトでは、デフォルトのルールがコンピュータのルーティングテーブルに追加され、すべての発信接続がデフォルトでVPNを通過します。
VPNプロバイダーは、ISPと非常によく似た機能を備えています。コンピューターに1つのアドレスを割り当てるIPアドレスの範囲を所有しています。このIPアドレスを使用するすべての接続は、VPNプロバイダーを通過します。
つまり、コンピューターには2つのIPアドレスがあり、1つはISP経由で、もう1つはVPNプロバイダー経由です。
VPN IPアドレスへの着信接続は、仮想TAPネットワークアダプターを介して到着します(呼び出し元が互換性のあるVPNクライアントを正しく使用する必要があります)。 ISP IPアドレスへの着信接続はすべてルーターに到達し、物理アダプターへの接続を通過します。ルーターは、コンピューター上に作成されたVPNについて何も認識していません(ルーター自体がVPNに接続している場合を除きます)。
つまり、デフォルトでは、状況は希望どおりです。送信接続はデフォルトでVPNのTAPアダプターを通過しますが、パブリックアドレスを使用する受信接続は、物理アダプターで終了します。
唯一の問題は、特定のプログラムが物理アダプターで着信接続をリッスンできるようにすることです。これは、次の2つの方法で実現できます。
このソリューションの実行可能性は、ハードウェア(主にルーター)とソフトウェア(VPNドライバーとオペレーティングシステム)に大きく依存します。