
WS4W adalah aplikasi desktop yang memungkinkan menjalankan dan mengelola titik akhir server Wireguard di Windows.
Terinspirasi oleh posting Henry Chang, cara mengatur server Wireguard VPN di Windows, tujuan saya adalah membuat aplikasi yang otomatis dan menyederhanakan banyak langkah kompleks. Meskipun masih belum cukup solusi plug-and-play, idenya adalah untuk dapat melakukan masing-masing langkah prasyarat, satu per satu, tanpa menjalankan skrip apa pun, memodifikasi registri, atau memasuki panel kontrol.
Rilis terbaru tersedia di sini. Unduh penginstal dan jalankan.
Catatan : Aplikasi akan meminta untuk dijalankan sebagai administrator. Karena semua finagling dari registri, layanan Windows, panggilan WG.EXE, dll., Lebih mudah untuk menjalankan seluruh aplikasi yang ditinggikan.
Sebelum memperkenalkan pemasang, WS4W didistribusikan sebagai aplikasi portabel. Versi portabel (1.5.2 dan sebelumnya) tidak memiliki jalur peningkatan otomatis ke versi penginstal. Untuk meningkatkan, cukup hapus versi portabel yang diunduh dan unduh penginstal. Tidak ada pengaturan konfigurasi yang hilang.
Di bawah ini adalah tugas yang dapat dilakukan secara otomatis menggunakan aplikasi ini.

Langkah ini mengunduh dan menjalankan versi terbaru Wireguard untuk Windows dari https://download.wireguard.com/windows client/wireguard-installer.exe. Setelah diinstal, juga dapat diinstal langsung dari WS4W juga.

Di sini Anda dapat mengonfigurasi titik akhir server. Lihat dokumentasi Wireguard untuk arti masing -masing bidang ini. Kunci pribadi dan kunci publik dihasilkan dengan memanggil wg genkey dan wg pubkey [private key] masing -masing. (Anda secara opsional dapat menyediakan kunci pribadi Anda sendiri.)
Catatan : Penting bahwa rentang jaringan server tidak bertentangan dengan alamat IP sistem host atau rentang jaringan LAN.
Selain membuat/udpating file konfigurasi untuk titik akhir server, mengedit konfigurasi server juga akan memperbarui nilai Registry ScopeAddress (di bawah HKLMSYSTEMCurrentControlSetServicesSharedAccessParameters ). Ini adalah alamat IP yang digunakan untuk adaptor Wireguard saat menggunakan fitur berbagi internet (dijelaskan di sini). Dengan demikian, properti alamat konfigurasi server berfungsi untuk menentukan alamat yang diijinkan untuk klien, serta IP yang akan ditetapkan Windows ke adaptor Wireguard saat melakukan berbagi internet. CATATAN Alamat IP diambil dari ScopeAddress pada saat berbagi internet pertama kali dilakukan. Itu berarti bahwa jika alamat IP server diubah dalam konfigurasi (dan dengan demikian nilai Registry ScopeAddress diperbarui), antarmuka Wireguard tidak akan lagi secara akurat mencerminkan IP server yang diinginkan. Oleh karena itu, WS4W akan meminta untuk membagikan kembali internet. Jika dibatalkan, berbagi internet akan dinonaktifkan dan harus diaktifkan kembali secara manual.
Penting : Anda harus mengkonfigurasi penerusan port pada router Anda. Teruskan semua lalu lintas UDP yang ditakdirkan untuk port titik akhir server Anda (default
51820) ke IP LAN dari server Anda. Setiap router berbeda, jadi sulit untuk memberikan panduan khusus di sini. Sebagai contoh, inilah aturan penerusan port akan terlihat pada router Verizon Quantum Gateway.
Anda harus mengatur properti titik akhir ke IPv4 publik, IPv6, atau alamat domain Anda, diikuti oleh port apa pun yang telah Anda meneruskan. Tombol Detect Public IP Address akan mencoba mendeteksi alamat publik Anda secara otomatis menggunakan API IPIFY.org. Namun, jika memungkinkan, Anda disarankan untuk menggunakan nama domain dengan DDNS. Dengan begitu, jika alamat IP publik Anda berubah, klien Anda akan dapat menemukan titik akhir server Anda tanpa konfigurasi ulang.

Di sini Anda dapat mengkonfigurasi klien. Alamat dapat dimasukkan secara manual atau dihitung berdasarkan rentang jaringan server. Misalnya, jika jaringan server adalah 10.253.0.0/24 , konfigurasi klien dapat menentukan bahwa 10.253.0.2 adalah alamat yang valid. Perhatikan bahwa alamat pertama dalam kisaran (dalam contoh ini, 10.253.0.1 ) dicadangkan untuk server. DNS adalah opsional, tetapi direkomendasikan. Anda dapat menambahkan domain pencarian DNS (juga dikenal sebagai sufiks DNS, baca lebih lanjut). Terakhir, kunci pribadi, kunci publik, dan kunci preshared dihasilkan menggunakan wg genkey , wg pubkey [private key] , dan wg genpsk . (Anda dapat menentukan kunci pribadi Anda sendiri. Kunci preshared adalah opsional, dihasilkan secara unik per-klien, dan dibagikan dengan konfigurasi server. Lihat #34 untuk info lebih lanjut.)
Karena sedikit kekhasan di Wireguard, jika Anda menghapus kunci preshared klien dan menyinkronkan konfigurasi server, Wireguard masih mengharapkan klien untuk terhubung dengan PSK. Oleh karena itu, WS4W tidak memungkinkan Anda untuk membersihkan bidang kunci yang telah dipreshared dari klien. Sebaliknya, hapus dan buat ulang klien untuk menghapus PSK.
Setelah dikonfigurasi, mudah untuk mengimpor konfigurasi ke aplikasi klien Anda melalui kode QR atau dengan mengekspor file .conf .

Untuk keamanan, Anda mungkin tidak ingin menyimpan kunci pribadi klien di server. Dalam hal ini, Anda dapat menghapus bidang kunci pribadi sebelum menyimpan konfigurasi klien. Namun, ada dua hal yang perlu diingat.
Setelah server dan klien dikonfigurasi, Anda dapat menginstal layanan terowongan, yang membuat antarmuka jaringan baru untuk Wireguard menggunakan perintah wireguard /installtunnelservice . Setelah instalasi, terowongan juga dapat dilepas secara langsung dalam WS4W. Ini menggunakan perintah wireguard /uninstalltunnelservice .
Setelah menyelesaikan langkah ini, klien Wireguard harus bisa mendapatkan sejauh melakukan jabat tangan yang sukses dengan server.
Catatan: Jika konfigurasi server diedit setelah layanan terowongan diinstal, layanan terowongan akan secara otomatis diperbarui melalui perintah
wg syncconf(jika konfigurasi server yang baru disimpan valid). Ini juga berlaku untuk konfigurasi klien, pembaruan yang sering menyebabkan konfigurasi server diperbarui (misalnya, jika klien baru ditambahkan, konfigurasi server harus mengetahui rekan baru ini).
Bahkan setelah layanan terowongan dipasang, beberapa protokol dapat diblokir. Disarankan untuk mengubah profil jaringan menjadi Private , yang memudahkan pembatasan Windows pada jaringan.
Langkah ini juga membuat tugas Windows untuk membuat jaringan pribadi secara otomatis pada boot. Anda dapat menonaktifkan tugas melalui dropdown.
Catatan : Pada sistem di mana koneksi internet bersama berasal dari jaringan domain, langkah ini tidak diperlukan, karena antarmuka Wireguard mengambil profil jaringan domain bersama.
Langkah terakhir adalah mengizinkan permintaan yang dibuat melalui antarmuka Wireguard untuk dialihkan ke jaringan pribadi Anda atau Internet. Untuk melakukannya, koneksi adaptor jaringan "nyata" pada mesin Windows harus dibagikan dengan adaptor Wireguard virtual. Ini dapat dilakukan dengan salah satu dari dua cara.
Opsi pertama hanya tersedia di beberapa sistem (lihat lebih lanjut di bawah). Opsi kedua dapat digunakan seperlunya, tetapi memiliki beberapa peringatan (seperti, jika koneksi internet dibagikan dengan adaptor Wireguard, tidak dapat dibagikan dengan adaptor lainnya; lihat #18). Ada juga beberapa masalah yang dilaporkan dengan berbagi internet, jadi routing NAT harus digunakan jika tersedia.
Opsi -opsi ini saling eksklusif.
Di sini Anda dapat membuat aturan perutean NAT di antarmuka Wireguard untuk memungkinkannya berinteraksi dengan jaringan pribadi/publik Anda. Secara khusus, perintah berikut dipanggil.
New-NetIPAddress dipanggil pada adaptor Wireguard untuk menetapkan IP statis di kisaran properti alamat konfigurasi server.New-NetNat dipanggil untuk membuat aturan NAT baru pada adaptor Wireguard.New-NetIPAddress saat boot.Routing NAT membutuhkan setidaknya Windows 10, dan opsi untuk mengaktifkannya bahkan tidak akan muncul dalam aplikasi pada versi Windows yang lebih lama. Namun, bahkan dengan Windows 10, Routing NAT tidak selalu berhasil. Kadang-kadang membutuhkan Hyper-V untuk diaktifkan, yang akan diminta aplikasi, tetapi itu juga membutuhkan versi Windows Pro atau lebih tinggi (yaitu, bukan rumah). Pada akhirnya, jika aplikasi tidak dapat mengaktifkan routing NAT, itu akan merekomendasikan penggunaan berbagi koneksi internet sebagai gantinya (di bawah). Lihat #30 untuk diskusi lengkap tentang dukungan perutean NAT.

Jika Routing NAT tidak tersedia, Anda dapat menggunakan berbagi internet untuk menyediakan koneksi jaringan ke antarmuka Wireguard. Saat mengonfigurasi opsi ini, Anda dapat memilih adaptor jaringan Anda untuk dibagikan. Perhatikan bahwa itu kemungkinan hanya akan berfungsi untuk adaptor yang statusnya Connected , dan itu hanya akan berguna untuk adaptor yang menyediakan akses internet atau LAN. Saat memilih adaptor untuk dibagikan, kurangi item menu untuk mendapatkan detail lebih lanjut, termasuk alamat IP adaptor yang ditugaskan, untuk menentukan apakah itu yang ingin Anda bagikan.
Catatan: Saat melakukan berbagi internet, adaptor Wireguard diberi IP dari nilai Registry
ScopeAddress(di bawahHKLMSYSTEMCurrentControlSetServicesSharedAccessParameters). Nilai ini secara otomatis diatur saat memperbarui properti alamat konfigurasi server. Lihat lebih banyak di sini.
Ada masalah di Windows yang menyebabkan berbagi internet menjadi cacat setelah reboot. Jika server Wireguard dimaksudkan untuk dibiarkan tanpa pengawasan, disarankan untuk memungkinkan berbagi internet yang persisten sehingga tidak ada interaksi yang diperlukan setelah reboot.
Saat mengaktifkan fitur ini, dua tindakan dilakukan di Windows:
Internet Connection Sharing diubah dari Manual ke Automatic .EnableRebootPersistConnection di HKLMSoftwareMicrosoftWindowsCurrentVersionSharedAccess diatur ke 1 (dibuat jika tidak ditemukan).Bahkan dengan solusi ini, berbagi internet dapat dinonaktifkan setelah reboot. Oleh karena itu, satu tindakan lagi dilakukan. Tugas yang dijadwalkan dibuat yang menonaktifkan dan mengaktifkan kembali berbagi internet menggunakan WS4W CLI setelah boot sistem. Ini harus cukup untuk menjamin bahwa pembagian tetap diaktifkan.

Setelah terowongan dipasang, status antarmuka Wireguard dapat dilihat. Ini dicapai melalui perintah wg show . Ini akan terus diperbarui selama Update Live diperiksa.
Setel penundaan tugas boot
Pengaturan ini memungkinkan mengkonfigurasi penundaan untuk tugas boot. Ini bisa berguna untuk tugas yang bergantung pada adaptor yang lambat dimuat. Perhatikan bahwa tugas harus dinonaktifkan dan diaktifkan kembali setelah mengubah nilai ini.

Ada juga CLI yang dibundel dalam unduhan portabel yang disebut ws4w.exe yang dapat dipanggil dari terminal atau dipanggil dari skrip. Selain pesan yang ditulis untuk Standard Out, CLI juga akan mengatur kode keluar berdasarkan keberhasilan menjalankan perintah yang diberikan. Di PowerShell, misalnya, kode keluar dapat dicetak dengan echo $lastexitcode .
Catatan : CLI juga harus dijalankan sebagai administrator karena alasan yang sama seperti di atas.
CLI menggunakan kata kerja, atau perintah tingkat atas, yang masing-masing memiliki set opsi sendiri. Anda dapat menjalankan ws4w.exe --help untuk daftar semua kata kerja atau ws4w.exe verb --help untuk melihat daftar opsi untuk kata kerja tertentu.
ws4w.exe restartinternetsharing [--network <NETWORK_TO_SHARE>]--network dapat diteruskan untuk menentukan jaringan mana yang harus dibagikan WS4W.--network dilewati).--network harus diteruskan untuk ditentukan.--network harus dilewati, jika tidak, tidak ada cara untuk mengetahui jaringan mana yang akan dibagikan.Perintah ini digunakan oleh tugas yang dijadwalkan yang dibuat ketika berbagi internet yang persisten diaktifkan.
ws4w.exe setpathPATH sistem.Perintah ini digunakan oleh penginstal saat opsi "Tambahkan CLI ke Path" dipilih.
ws4w.exe setnetipaddress --serverdatapath <PATH_TO_SERVER_CONFIG>Set-NetIPAddress di antarmuka Wireguard, menggunakan alamat jaringan sebagaimana didefinisikan dalam file konfigurasi server Wireguard yang diberikan.Perintah ini digunakan oleh tugas yang dijadwalkan yang dibuat saat routing NAT diaktifkan.
ws4w.exe privatenetworkPerintah ini digunakan oleh tugas Windows yang dibuat saat jaringan pribadi diaktifkan.
Pertama, disarankan untuk menggunakan routing NAT jika tersedia.
Namun, jika Anda mengalami pesan kesalahan berikut saat mengaktifkan berbagi internet, silakan lakukan langkah -langkah manual berikut.

wg_server .Catatan: Masalah ini sering dipicu setelah membuat sakelar virtual baru untuk VM. Penanganan solusi manual hanya diperlukan sekali setelah itu dan tidak mempengaruhi sakelar virtual.
WS4W telah diuji dan diketahui berfungsi di Windows Server (2012 R2 dan lebih baru) dan Windows Desktop (10 dan lebih baru).
Wireguard adalah merek dagang terdaftar dari Jason A. Donenfeld.
Ikon dibuat oleh Freepik dari www.flaticon.com.