
Windows 10 にカスタム VPN クライアントを実装したいので、専用サブネットのすべての IP パケットを取得できる仮想ネットワーク アダプターを作成する方法の例を探しています。
OpenVPN と SoftEther も調べてみましたが、ソース コードは Visual Studio 2019 ではサポートされなくなったようです。
答え1
WireGuardプロジェクトはウィントゥン、これは現在、典型的なレイヤー 3 VPN (IPv4/IPv6 のみを伝送) を構築する場合に推奨される選択肢のようです。これは元々 WireGuard 用に作成されましたが、現在は OpenVPN でも使用されています。Wintun README では、ビルド要件として VS 2019 が明記されており、ソース コードはすべて小さな "wintun.c" ファイルに含まれているため、良い例として機能するはずです。
しかし、WintunのREADMEでは、独自のバージョンをビルドするのではなく、代わりにプレビルドドライバをダウンロードしてアプリケーションのインストーラにバンドルします。必要なデジタル署名が既にあるため、この方法では、他のWintun を利用する VPN アプリ。(新しいアプリが既存のアプリを壊し、修正に何時間もかかるようなことは、ユーザーにとって本当に嫌なことです!)
レイヤー2 VPN(イーサネットを運ぶ)を構築する予定の場合は、古いドライバであるOpenVPNのTAP-Windows (NDIS 6)、思われる最新の Windows プラットフォームとも互換性があります。README ファイルには、最新のコードが「Microsoft Windows 10 EWDK」を使用して Windows Server 2016 上で正常にビルドされたと記載されており、Git コミット ログには VS 2017 関連の更新についての記述があります。VS 2019 用に更新するのにもそれほど時間はかからないでしょう。
(ただし、ユーザーがインストールした他の VPN クライアントとの競合の可能性を減らすために、独自のバージョンを構築しない方がよいでしょう。)
他のプロジェクトでもTAP-Windowsのフォークが存在します。例えば、ゼロティア。
答え2
このプロジェクトを見ていただけますか?http://www.tinc-vpn.org/download/これは Windows 上で動作するオープンソース プロジェクトです。