Internet Speed Online

Bahasa

Artikel

Panduan praktikal

Cara Menyediakan Pelayan VPN WireGuard pada Ubuntu dengan Skrip

Bermula dengan pelayan Ubuntu baharu hingga sambungan VPN peribadi: sediakan pelayan, cipta profil peranti dan semak laluan trafik internet.

Telah diuji: pemasangan pelayan, sambungan bekas Linux dan kelajuan Windows. Ujian pada peranti macOS, Ubuntu Desktop, iPhone dan Android masih belum selesai.

Bilakah persediaan ini sesuai?

Sesuai jika anda mahukan VPN peribadi dengan akses internet melalui pelayan pilihan anda dan rangkaian membenarkan WireGuard. Anda memilih penyedia, lokasi pelayan dan peranti yang boleh bersambung.

Jika rangkaian menyekat VPN, WireGuard biasa mungkin tidak sesuai. Ia tidak menyamarkan sambungan sebagai trafik web biasa. Pelayan yang dikonfigurasi dengan betul pun mungkin tidak dapat dicapai melalui penyedia internet anda. Pertimbangkan hal ini sebelum membayar VPS.

Untuk rangkaian yang menyekat VPN, pertimbangkan AmneziaWG atau Xray dengan VLESS dan REALITY. AmneziaVPN menyokong persediaannya pada pelayan sendiri. Ia direka untuk menentang pengesanan dan sekatan, tetapi tidak menjamin sambungan dari setiap rangkaian.

WireGuard

AmneziaVPN

1. Pilih pelayan dan sediakan akses

Panduan ini memasang WireGuard dari awal pada VPS Ubuntu 26.04 LTS. Anda memerlukan IPv4 awam serta kata laluan root atau kunci SSH. Pilih penyedia dan rantau mengikut keperluan.

Panduan ini menggunakan VPS dengan 1 vCPU dan RAM 1 GB.

Pilih pelayan IPv4 supaya rangkaian tanpa IPv6 boleh bersambung. Pelayan IPv6 sahaja memerlukan aturan tambahan untuk laman IPv4 sahaja dan tidak diliputi di sini.

Keselamatan pelayan: panduan ini meliputi pemasangan VPN, bukan keseluruhan keselamatan dan penyelenggaraan VPS. Skrip menetapkan tembok api untuk SSH dan WireGuard. Kemas kini keselamatan dan perlindungan akses tetap tanggungjawab anda. Gunakan kunci SSH, aktifkan pengesahan dua faktor pada akaun hosting dan lindungi profil VPN seperti kata laluan. Matikan log masuk SSH dengan kata laluan hanya selepas mengesahkan log masuk kunci berfungsi.

2. Semak log masuk SSH

Windows: cari dan buka PowerShell melalui Start. Mac: tekan Command+Space, taip Terminal dan Enter. Ubuntu Desktop: tekan Ctrl+Alt+T.

Gantikan SERVER_IP dalam setiap arahan dengan IPv4 awam daripada panel pelayan. ssh root@SERVER_IP menyambungkan anda sebagai root.

Pilih arahan kata laluan atau arahan kunci jika sudah mempunyai kunci SSH. Tukar laluan contoh kunci kepada laluan sebenar.

Pada sambungan pertama, SSH mungkin meminta pengesahan kepercayaan. Semak alamat VPS, taip yes dan Enter. Masukkan kata laluan root apabila diminta; aksara tidak dipaparkan semasa menaip.

Selepas masuk, jalankan arahan pelayan untuk menyemak Ubuntu, kemudian exit untuk kembali ke komputer sendiri.

PowerShell atau Terminal pada komputer — log masuk kata laluan
ssh root@SERVER_IP
PowerShell atau Terminal pada komputer — kunci SSH sedia ada
ssh -i ~/.ssh/id_ed25519 root@SERVER_IP
Pada pelayan
cat /etc/os-release
exit
Jika arahan ssh tidak ditemui

Pada Windows, buka PowerShell dengan Run as administrator dan jalankan arahan berikut. Selepas pemasangan, tutup dan buka PowerShell biasa. Ubuntu menggunakan arahan Ubuntu di bawah. macOS menyertakan klien SSH.

Windows — pasang klien SSH dalam PowerShell pentadbir
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Salin tepat. OpenSSH.Client~~~~0.0.1.0 ialah pengecam komponen Windows; jangan ubah tanda tilde atau nombornya.

Ubuntu Desktop — pasang klien SSH
sudo apt update
sudo apt install openssh-client

3. Muat turun dan semak pakej pemasangan

Muat turun dan ekstrak ZIP. Simpan semua skrip bersama dalam folder wireguard-guide. Ikuti satu laluan sahaja: Windows, Mac atau Ubuntu.

Skrip memasang WireGuard pada VPS dan menyimpan profil VPN pada komputer dengan satu sambungan SSH untuk seluruh persediaan. Untuk log masuk kata laluan, ia diminta sekali bagi setiap pelaksanaan berjaya dan tidak disimpan oleh skrip.

Nama profil boleh mengandungi 1–15 huruf Latin besar atau kecil, nombor dan sempang, bermula dengan huruf. Tiada ruang. Contoh: my-wg-vpn, my-laptop, my-phone. Jika nama tidak diberikan, skrip bertanya; Enter memilih my-wg-vpn. Nama tidak sah akan diminta semula. Gunakan nama berbeza bagi setiap peranti tambahan.

Untuk memuat turun profil sedia ada, jalankan skrip, pilih 2 (Manage existing server), sambung, kemudian pilih 9 (Download profile). Masukkan nama daripada senarai; Enter tanpa nama membatalkan. Muat turun menggunakan sambungan SSH yang sama tanpa meminta kata laluan pelayan sekali lagi. Muat turun yang berjaya menggantikan fail setempat dengan nama yang sama.

Muat turun skrip persediaan (.zip)

4a. Sediakan pelayan dari Windows

Buka folder wireguard-guide yang diekstrak dalam File Explorer. Taip powershell di bar alamat dan tekan Enter supaya PowerShell dibuka dalam folder itu.

Jalankan salah satu arahan. Gantikan SERVER_IP dengan alamat VPS dan laluan kunci jika digunakan.

Pilih 1 (Set up server), masukkan IP pelayan dan nama profil, kemudian laluan kunci SSH atau tekan Enter. Enter mengekalkan nama yang dicadangkan. Semak ringkasan dan taip yes/y untuk meneruskan; Taip no untuk membatalkan. Selepas 3 jawapan tidak dikenali, skrip ditutup. Kemajuan dipaparkan semasa pemasangan. Menekan Enter juga meneruskan proses.

Profil disimpan dalam folder utama pengguna di WireGuard/SERVER_IP/my-wg-vpn.conf. Skrip memaparkan laluan penuh.

Mulakan dengan soalan alamat pelayan dan nama profil
.\Connect-WireGuardServer.ps1
PowerShell — pengesahan kata laluan
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -ProfileName my-wg-vpn
PowerShell — pengesahan kunci SSH
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -ProfileName my-wg-vpn -IdentityFile "$HOME\.ssh\id_ed25519"
Jika PowerShell menyekat skrip

Jika ralat menyatakan fail tiada tandatangan digital, jalankan arahan ini dalam folder yang sama dan cuba pemasangan semula.

PowerShell — nyahsekat fail yang dimuat turun
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1, .\ManagementClient.ps1

Jika pelaksanaan skrip dinyahdayakan, jalankan arahan ini, sahkan gesaan dan cuba lagi. Perubahan tamat apabila tetingkap PowerShell ditutup.

PowerShell — benarkan skrip untuk tetingkap ini sahaja
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1, .\ManagementClient.ps1

Jika dasar masih menghalang pelaksanaan, berhenti dan simpan mesej ralat untuk diagnosis.

4b. Sediakan pelayan dari Mac

Buka Terminal. Taip cd diikuti ruang, seret folder wireguard-guide dari Finder ke Terminal dan tekan Enter.

Jalankan satu arahan termasuk bash di awal. Gantikan SERVER_IP dan laluan kunci jika ada. my-wg-vpn ialah nama profil; gunakan nama lain seperti macbook untuk Mac kedua.

Profil disimpan dalam folder utama pengguna di WireGuard/SERVER_IP/my-wg-vpn.conf. Skrip memaparkan laluan penuh.

Pilih 1 (Set up server), masukkan IP pelayan dan nama profil, kemudian laluan kunci SSH atau tekan Enter. Enter mengekalkan nama yang dicadangkan. Semak ringkasan dan taip yes/y untuk meneruskan; Taip no untuk membatalkan. Selepas 3 jawapan tidak dikenali, skrip ditutup. Kemajuan dipaparkan semasa pemasangan. Menekan Enter juga meneruskan proses.

Mulakan dengan soalan alamat pelayan dan nama profil
bash ./connect-wireguard-server.sh
Terminal macOS — pengesahan kata laluan
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn
Terminal macOS — pengesahan kunci SSH
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn 22 ~/.ssh/id_ed25519

4c. Sediakan pelayan dari Ubuntu Desktop

Tekan Ctrl+Alt+T. Taip cd dan ruang, seret folder wireguard-guide ke Terminal dan tekan Enter.

Gantikan SERVER_IP lalu jalankan satu arahan. my-wg-vpn ialah nama profil. Pelancar dan log masuk SSH ini tidak memerlukan sudo.

Profil disimpan dalam folder utama pengguna di WireGuard/SERVER_IP/my-wg-vpn.conf. Skrip memaparkan laluan penuh.

Pilih 1 (Set up server), masukkan IP pelayan dan nama profil, kemudian laluan kunci SSH atau tekan Enter. Enter mengekalkan nama yang dicadangkan. Semak ringkasan dan taip yes/y untuk meneruskan; Taip no untuk membatalkan. Selepas 3 jawapan tidak dikenali, skrip ditutup. Kemajuan dipaparkan semasa pemasangan. Menekan Enter juga meneruskan proses.

Mulakan dengan soalan alamat pelayan dan nama profil
bash ./connect-wireguard-server.sh
Pada Ubuntu Desktop — pengesahan kata laluan
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn
Pada Ubuntu Desktop — pengesahan kunci SSH
bash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn 22 ~/.ssh/id_ed25519

Sebelum bersambung: bagaimana jika VPN berhenti berfungsi?

Full tunnel menghalakan trafik internet biasa melalui VPN semasa profil aktif.

Kill switch menyekat sambungan internet di luar VPN. Kelakuannya bergantung pada aplikasi dan tetapan: pelayan tidak dapat dicapai, profil dimatikan secara manual dan peranti dimulakan semula boleh memberi hasil berbeza. Panduan ini membuat profil full tunnel, tetapi tidak menetapkan sekatan kekal yang sama pada semua peranti. Tanpa perlindungan tambahan, mematikan profil boleh memulihkan internet biasa.

Windows: klien rasmi mengaktifkan kill switch secara automatik untuk profil yang skrip ini hasilkan. Perlindungan berlaku semasa terowong aktif. Mematikan profil secara manual membolehkan internet biasa kembali.

Android: dalam tetapan sistem telefon, cari VPN dan tetapan WireGuard. Aktifkan Always-on VPN dan Block connections without VPN untuk menyekat sambungan di luar VPN; Always-on sahaja tidak mencukupi. Nama dan lokasi tetapan mungkin berbeza. Semasa sekatan aktif, VPN tidak tersedia bermakna internet juga tidak tersedia.

Mac dan iPhone: On-Demand bersambung secara automatik mengikut peraturan. Jangan anggapnya sebagai kill switch kekal.

Ubuntu Desktop: import NetworkManager di bawah tidak menghasilkan kill switch berasingan. Ini memerlukan peraturan tembok api tambahan pada komputer.

Pelayan yang tidak dapat dicapai berbeza daripada profil VPN yang dimatikan. Jika pelayan berhenti menjawab ketika profil aktif, trafik mungkin hanya terhenti; ini tidak semestinya bermakna peranti beralih ke sambungan luar VPN.

WireGuard — Windows

Android — VPN

5a. Sambungkan Windows atau macOS

Pasang aplikasi WireGuard rasmi. Import fail .conf yang dihasilkan, benarkan kebenaran VPN dan aktifkan terowong. Nama pilihan import mungkin berbeza mengikut versi.

Profil menghantar IPv4 melalui VPN dan menyertakan laluan lalai IPv6 supaya IPv6 tidak memintasnya. Pelayan tidak menyediakan internet IPv6. Semak tingkah laku sebenar peranti dengan ujian berikut.

Profil mengandungi kunci peribadi. Pemilik salinannya boleh cuba menggunakan identiti VPN peranti. Jangan masukkannya dalam tiket sokongan, penjana QR dalam talian atau berkongsi antara peranti.

Muat turun WireGuard rasmi

5b. Sambungkan Ubuntu Desktop melalui NetworkManager

NetworkManager mengurus import, DNS dan laluan tanpa bergantung pada versi dialog grafik. Jalankan arahan pada desktop, bukan melalui SSH VPS. Pastikan nmcli tersedia dan NetworkManager berjalan.

my-wg-vpn.conf menghasilkan sambungan bernama my-wg-vpn. Jika nama sudah wujud, pilih nama peranti lain dan laraskan arahan. Import sekali sahaja; kemudian gunakan up dan down. Tetapan berikut mematikan sambungan VPN automatik semasa komputer bermula.

DNS ini mengutamakan VPN untuk semua nama ketika aktif. DNS selamat pelayar mungkin berbeza. Lakukan ujian IP, DNS dan IPv6 pada langkah 7. Kaedah ini belum diuji pada Ubuntu Desktop sebenar; ujian bekas Linux tidak mengesahkan DNS atau IPv6 desktop.

Jangan aktifkan profil sama dengan wg-quick serentak kerana laluan boleh bercanggah. nmcli boleh memeriksa dan memutuskan sambungan walaupun paparan desktop berbeza.

Pada Ubuntu Desktop — semak NetworkManager
nmcli --version
systemctl is-active NetworkManager
Pada Ubuntu Desktop — import sekali dan tetapkan DNS
sudo nmcli connection import type wireguard file "$HOME/WireGuard/SERVER_IP/my-wg-vpn.conf"
sudo nmcli connection modify my-wg-vpn connection.autoconnect no ipv4.dns-priority -50 ipv4.dns-search "~."
Pada Ubuntu Desktop — sambung
sudo nmcli connection up my-wg-vpn
nmcli connection show --active
Pada Ubuntu Desktop — putuskan sambungan
sudo nmcli connection down my-wg-vpn

6. Sambungkan iPhone atau Android dengan kod QR

Pasang aplikasi WireGuard rasmi melalui pautan App Store atau Google Play di bawah.

Pada komputer, masuk semula ke VPS dengan ssh root@SERVER_IP atau arahan kunci SSH anda. Arahan telefon berikut mencipta profil dan memaparkan kod QR.

Dalam WireGuard telefon, pilih tambah terowong dengan imbasan QR. Imbas kod komputer, namakan sambungan, benarkan VPN dan aktifkannya.

Gunakan profil berasingan bagi setiap telefon. Jangan kongsi QR kerana ia memberikan akses VPN. Jika kod terpecah baris, besarkan tetingkap Terminal dan paparkan semula.

Pada pelayan — cipta profil iPhone
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.conf
Pada pelayan — cipta profil Android berasingan
python3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf

WireGuard untuk iPhone — App Store

WireGuard untuk Android — Google Play

7. Semak trafik internet melalui VPN

Buka halaman My IP melalui pautan berikut sebelum menghidupkan VPN dan catat alamat anda. Aktifkan WireGuard, muat semula My IP dan bandingkan dengan IPv4 awam VPS.

Jika halaman terbuka dan memaparkan alamat VPS, sambungan pelayar itu melalui VPN. Jika alamat lama kekal, lihat penyelesaian masalah.

Ini mengesahkan pelayar, bukan semua aplikasi atau perlindungan ketika VPN terputus. Ujian tambahan meliputi DNS dan IPv6.

Semak IP awam anda

Pilihan: semak IPv6 dan DNS

IPv6: buka Test IPv6 sebelum menyambung dan catat sama ada alamat IPv6 muncul. Aktifkan VPN dan ulangi. Konfigurasi IPv4 ini sepatutnya tiada internet IPv6 yang berfungsi. IPv6 biasa yang masih muncul memintas terowong. Jika tiada IPv6 sebelum ujian, hasilnya tidak menunjukkan tingkah laku pada rangkaian IPv6.

DNS: dengan VPN aktif, jalankan Standard test dalam DNS Leak Test. Profil menggunakan Cloudflare DNS. Jika penyedia internet rumah muncul, semak DNS peranti. Penyedia lain mungkin datang daripada Secure DNS pelayar; ia perlu disiasat dan bukan bukti kebocoran automatik. Hasil ini tidak menjamin semua aplikasi dilindungi.

Buka Test IPv6

Buka DNS Leak Test

8. Selesaikan masalah sambungan

Jika My IP masih menunjukkan alamat biasa, pastikan profil WireGuard aktif. Matikan dan hidupkan sekali lalu muat semula My IP.

Jika laman gagal ketika VPN aktif, matikan VPN dan cuba laman sama. Jika masih gagal, pulihkan internet biasa dahulu. Jika hanya gagal dengan VPN, gunakan semakan berikut.

Untuk membandingkan rangkaian, sambungkan komputer ke hotspot telefon dan cuba VPN. Pada telefon, matikan Wi-Fi dan cuba data mudah alih. Ini ujian sementara; caj data mungkin dikenakan. Jika hanya berfungsi melalui hotspot atau data mudah alih, masalah khusus pada sambungan Wi-Fi itu; puncanya belum diketahui.

Jika pemasangan terhenti, simpan ralat terakhir. Selepas membetulkan punca, jalankan arahan sama dengan nama peranti sama. Profil sedia ada dikekalkan.

Semak pelayan VPN berjalan

Masuk melalui SSH seperti langkah 2 dan jalankan arahan. Hasil sepatutnya active. Jika inactive atau failed, mulakan semula dan semak lagi. Jika bukan active, simpan ralat.

Pada pelayan — semak WireGuard
systemctl is-active wg-quick@wg0
Pada pelayan — mulakan semula WireGuard jika tidak aktif
systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0

Mula semula memutuskan peranti yang menggunakan VPN ini seketika.

Semak peranti mencapai pelayan

Aktifkan VPN dan buka My IP. Pada pelayan, jalankan wg show. Cari latest handshake di bawah peranti; 10 seconds ago bermakna sambungan disulitkan baru dibentuk. Jika baris tiada, belum ada sambungan berjaya direkodkan untuk peranti itu.

Jika tiada sambungan terkini, semak Endpoint mengandungi alamat VPS diikuti :51820. Dalam panel VPS, cari Firewall atau Security groups. Jika peraturan dipasang, benarkan UDP masuk port 51820. Paparan berbeza mengikut penyedia; skrip sudah mengurus firewall Ubuntu.

Jika handshake terkini ada tetapi laman masih gagal, simpan hasil dan log atau ralat aplikasi. Mengubah tetapan rangkaian lanjutan secara rawak boleh menyukarkan diagnosis.

Pada pelayan — paparkan status VPN
wg show

9. Apakah kelajuan yang boleh dijangka?

Ujian Windows kami mencatat muat turun sekitar 450–500 Mbps dan muat naik 450–500 Mbps dengan kaedah sama seperti VPN lain dalam projek. Laluan: pengguna San Diego → VPN di San Francisco Bay Area → pelayan ukuran Seattle.

VPS Vultr Shared CPU (vc2-1c-1gb): 1 vCPU, RAM 1 GB dan trafik bulanan 1 TB; harga semasa ditempah ialah AS$5 sebulan.

Dalam ujian berasingan, instans Vultr Shared CPU Intel High Frequency (vhf-1c-1gb; 1 vCPU, 1 GB RAM) berharga AS$6 sebulan mencapai sekitar 550–750 Mbps untuk muat turun dan muat naik. Kedua-dua pelan diuji pada Windows menggunakan kaedah dan laluan yang sama: San Diego → pelayan VPN di San Francisco Bay Area → pelayan ukuran di Seattle.

Keputusan berbeza antara instans Intel High Frequency yang diuji: sesetengahnya konsisten menghampiri hujung atas julat, manakala yang lain lebih dekat dengan hujung bawah. Memilih pelan ini sahaja tidak menjamin 750 Mbps.

Ini hasil konfigurasi tersebut. Keputusan bergantung pada internet, pelayan dan lokasi anda.

10. Kos, privasi dan had penyedia

VPN sendiri memberikan kawalan konfigurasi dan satu lokasi keluar pilihan. Anda mengurus kemas kini keselamatan, bil, akses peranti dan pemulihan. Ia tidak menyembunyikan identiti daripada penyedia hosting atau menggantikan HTTPS.

Pelayan ujian berharga AS$5 dan AS$6 sebulan. Harga, perkakasan dan kuota trafik berbeza mengikut penyedia dan wilayah. Semasa membandingkan dengan langganan VPN, ingat bahawa satu VPS memberi satu lokasi pilihan dan anda menyelenggarakannya sendiri.

Melayari web, video, muat turun, muat naik dan ujian kelajuan menggunakan kuota trafik VPS. Semak baki dalam panel hosting. Lebihan boleh menyebabkan caj atau sekatan mengikut pelan.

Sebelum menggunakan P2P, semak syarat penggunaan penyedia dan undang-undang berkaitan. Protokol dan hak kandungan adalah berasingan. Muat turun dan kongsi kandungan yang anda berhak gunakan; tidak semua hos membenarkan semua penggunaan P2P.

IP pusat data boleh menghadapi CAPTCHA, sekatan perkhidmatan atau penstriman. WireGuard biasa tidak menjamin akses dari semua rangkaian ditapis. Satu VPS juga menjadi satu titik kegagalan tanpa pilihan lokasi dan pelayan gantian seperti penyedia besar.

11. Tambah peranti, batalkan akses dan selenggara pelayan

Gunakan profil berasingan bagi setiap peranti. Untuk menarik balik akses profil VPN, sambung ke VPS melalui SSH dan jalankan arahan pemadaman di bawah, menggantikan iphone dengan nama profil. Kemudian padam salinan fail atau QR yang disimpan. Memadam profil pada peranti sahaja tidak menarik balik akses pada pelayan.

Pastikan kemas kini keselamatan Ubuntu terkini dan semak keperluan mula semula. Mulakan semula pada masa sesuai dan pastikan VPN kembali. Lindungi akaun hosting dan SSH; tukar pengesahan SSH secara berasingan dengan kaedah masuk alternatif yang sudah diuji.

Skrip pembuangan menghentikan VPN ini dan membuang konfigurasi serta peraturan firewall yang diurusnya. SSH, UFW dan pakej kekal. Pemajuan trafik kekal aktif sehingga dasar sistem digunakan ketika mula semula. Membuang VPN tidak menghentikan bil VPS; simpan data perlu kemudian padamkan instance melalui penyedia apabila tidak lagi digunakan.

Pada pelayan — batalkan profil iPhone
python3 /root/internetspeed-wireguard/manage-client.py remove iphone
Pada pelayan — semak kemas kini dan keperluan mula semula
apt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-required

Arahan ini menyenaraikan kemas kini dan memeriksa keperluan mula semula; ia tidak memasang kemas kini. Tetapkan kemas kini keselamatan dan perlindungan VPS secara berasingan daripada pemasangan VPN.

Pada pelayan — buang konfigurasi VPN (semua klien terputus)
bash /root/internetspeed-wireguard/remove-server.sh --confirm