Windows上のWireGuardサーバー - 最高の方法

WindowsにWireGuardサーバーの一つを実行してホストや現地のローカルネットワークにアクセスする解決策をテストしました。
https://www.henrychang.ca/how-to-setup-wireguard-vpn-server-on-windows/

しかし、私の経験ではNAT(ICS - インターネット共有)は100%安定しません。たまに動かなくなることもあります。これは約6ヶ月前のことです。

今、新しいサーバーをセットアップしようとしています。Hyper-V上のUbuntu VMでWireGuardサーバーを使ったことはあります。これはNATと非常に信頼性が高く100%動作します。ただし、VMのオーバーヘッドがあります。

VMの道を歩く前にアドバイスと経験を求めています… ありがとうございます!

GitHub - micahmo/WgServerforWindows: Wg Server for Windows (WS4W) is a desktop application that allows running and managing a WireGuard server endpoint on Windows を使えばWindows展開の際にICSの癖を修正でき、Windowsの更新や停電などのさまざまなトラブルに対応できるサーバーを一つ持てます。

https://www.wiresock.net/wiresock-vpn-gateway/ でWindows上にWireguardサーバーを設定してみてください。

New-NetNat -Name "WG_NAT" -InternalIPInterfaceAddressPrefix "192.168.222.0/24"

再起動しても維持されます。これだけで、COMオブジェクトを操作したりするよりずっと簡単です。まったくWindows Server Core 2019には必要なDLLもありません。

SharedAccessサービスは停止していますので、NetNat PowerShellモジュールはICSを使っていないと推測されます。

なぜWindowsサーバーにNATが必要なのですか?ネットワークに有効なサブネットを割り当て、それらのサブネット用にルーティングを設定するのはどうですか。

できるだけNATを避けることを提案します。インターネットに接続しているファイアウォールやルーターだけでNATを使うのが望ましいです。

私はWindows 2016 VPSを運用しており、すべてのポートを開いています。クライアントにVPSのローカルシステムへのアクセスを提供したくなく、インターネットへのアクセスのみを提供したいです。

WgServerforWindowsを使用した場合、今回の投稿で指摘されている問題に直面しますか?

WireGuardクライアントはWireGuardサーバーに接続し、ローカルのSMB共有にアクセスできますか?

5日間のテストの結果、私はhttps://github.com/micahmo/WgServerforWindowsのWGを実行する解決策にのみ満足しています。

これまでに3台のサーバーで動かしています。ありがとうございます!

この返信はGoogleの最初の結果となるべきです

シェアありがとうございます!確認してみます!

Windows 10/11やWindows Serverを使用していますか?

私はWindows Server 2019を使用していますが、NATオプションが欠如しているかもしれません。その場合はICSを使用する必要があります。
https://github.com/micahmo/WgServerforWindows#internet-sharing

明日テストします。

これを自分でダウンロードしてインストールせずに実行できるバージョンはありますか?

ありがとうございます。まだ試していません。

ライセンスノートを見ました。いくつかのサーバーは「個人用」ではありません。どのようにライセンスされているのか、情報が見つかりませんでした。

私にとっては新しい選択肢でした。

これまではVPNサーバー(WireGuard / OpenVPN)でNATを常に使用してきました。代わりにどのように設定し、ルーティングを行うのか?

https://github.com/micahmo/WgServerforWindowsはこれを実現してくれるでしょう。その後、クライアントを制限して、公開IPのみアクセスさせることができます(LAN IP不可)。セキュリティのためにWindows Defender Firewallも関与させる必要があります。例として、インターネットアクセスのみをクライアントに設定し、サーバー側でもそれを強制することです。もしクライアントが親切でインターネットだけにアクセスしたい場合は、AllowedIPsを設定します。

https://www.reddit.com/r/WireGuard/comments/s8i80h/comment/hu4wqod/?utm_source=share&utm_medium=web2x&context=3