InternetSpeed.online

Lugha

Makala

Mwongozo wa vitendo

Jinsi ya Kusanidi Seva ya VPN ya WireGuard kwenye Ubuntu kwa Skripti

Anza na seva mpya ya Ubuntu hadi kupata VPN binafsi. Mwongozo unaeleza usanidi, profaili za vifaa na ukaguzi wa njia ya trafiki ya intaneti.

Vimejaribiwa: usanidi wa seva, muunganisho wa kontena la Linux na kasi ya Windows. Majaribio kwenye macOS, Ubuntu Desktop, iPhone na Android bado hayajakamilika.

1. Chagua seva na uandae ufikiaji

Huu ni usanidi mpya wa WireGuard kwenye VPS ya Ubuntu 26.04 LTS. Unahitaji IPv4 ya umma na nenosiri la root au ufunguo wa SSH. Chagua mtoa huduma na eneo linalokufaa.

Tunatumia Vultr Shared CPU: 1 vCPU, RAM ya 1 GB, SSD ya 25 GB na mgao wa trafiki wa 1 TB kwa mwezi.

Chagua IPv4 ili kuunganisha kutoka mitandao isiyo na IPv6. Seva yenye IPv6 pekee inahitaji mipangilio zaidi kufikia tovuti za IPv4 pekee; haijumuishwi hapa.

2. Hakikisha unaweza kuingia kwa SSH

Windows: tafuta PowerShell kwenye Start na uifungue. Mac: bonyeza Command+Space, andika Terminal kisha Enter. Ubuntu Desktop: Ctrl+Alt+T.

Katika amri zote, badilisha SERVER_IP kuwa IPv4 ya umma iliyo kwenye paneli ya seva. ssh root@SERVER_IP huunganisha kama root.

Chagua amri ya nenosiri au ya ufunguo kama tayari una ufunguo wa SSH. Badilisha njia ya mfano ya ufunguo kuwa yako.

Mara ya kwanza, SSH inaweza kuuliza kama unaamini seva. Hakikisha anwani ni ya VPS uliyounda, andika yes na Enter. Ingiza nenosiri la root ukiombwa; herufi hazionekani unapoandika.

Baada ya kuingia, tumia amri ya seva hapa chini kukagua Ubuntu, kisha exit kurudi kwenye kompyuta yako.

PowerShell au Terminal ya kompyuta yako — kuingia kwa nenosiri
ssh root@SERVER_IP
PowerShell au Terminal ya kompyuta yako — ufunguo uliopo wa SSH
ssh -i ~/.ssh/id_ed25519 root@SERVER_IP
Kwenye seva
cat /etc/os-release
exit
Ikiwa amri ssh haipatikani

Windows: fungua PowerShell kwa Run as administrator, tumia amri hapa chini, kisha funga na ufungue PowerShell ya kawaida. Ubuntu: tumia amri ya Ubuntu. macOS ina mteja wa SSH.

Windows — sakinisha mteja wa SSH kwenye PowerShell ya msimamizi
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Nakili bila kubadilisha. OpenSSH.Client~~~~0.0.1.0 ni kitambulisho cha kipengele cha Windows; hifadhi alama za tilde na namba.

Ubuntu Desktop — sakinisha mteja wa SSH
sudo apt update
sudo apt install openssh-client

3. Pakua na ukague kifurushi

Pakua ZIP na utoe faili. Hifadhi skripti zote tano pamoja kwenye folda wireguard-guide. Fuata sehemu moja tu ya Windows, Mac au Ubuntu.

Skripti husakinisha WireGuard kwenye VPS na kutengeneza profaili ya kifaa. Nenosiri la seva linaweza kuombwa mara kadhaa.

Pakua skripti za usanidi (.zip)

4a. Sanidi seva kutoka Windows

Fungua folda wireguard-guide iliyotolewa katika File Explorer. Andika powershell kwenye upau wa anwani na Enter ili kufungua PowerShell hapo.

Tumia moja ya amri mbili. Badilisha SERVER_IP kuwa anwani ya VPS, na njia ya ufunguo ikiwa unautumia.

windows baada ya -Device ni jina la profaili. Kwa kompyuta ya pili tumia jina jingine kama laptop. Profaili tofauti huruhusu kufuta ufikiaji wa kifaa kimoja bila kukata vingine.

Ukimaliza, ingiza %USERPROFILE%\WireGuard kwenye upau wa anwani wa File Explorer. Fungua folda yenye jina la seva na kifaa upate windows.conf. Skripti pia huonyesha njia kamili. Washa VPN katika hatua ya 5.

PowerShell — uthibitishaji wa nenosiri
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows
PowerShell — uthibitishaji wa ufunguo wa SSH
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows -IdentityFile "$HOME\.ssh\id_ed25519"
Ikiwa PowerShell inazuia skripti

Ikiwa kosa linasema faili haina sahihi ya kidijitali, tumia amri hii kwenye folda hiyo kisha ujaribu usanidi tena.

PowerShell — ondoa kizuizi cha faili iliyopakuliwa
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1

Ikiwa utekelezaji wa skripti umezimwa, tumia amri hizi, thibitisha ombi na ujaribu tena. Mabadiliko huisha ukifunga dirisha hili la PowerShell.

PowerShell — ruhusu skripti kwenye dirisha hili tu
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1

Ikiwa sera bado inazuia, simama na uhifadhi ujumbe wa kosa kwa uchunguzi.

4b. Sanidi seva kutoka Mac

Fungua Terminal. Andika cd na nafasi, buruta folda wireguard-guide kutoka Finder hadi Terminal, kisha Enter.

Tumia amri moja, pamoja na bash mwanzoni. Badilisha SERVER_IP na njia ya ufunguo inapohitajika. mac ni jina la profaili; tumia jingine kama macbook kwa Mac nyingine.

Ukimaliza, bonyeza Command+Shift+H katika Finder kufungua folda yako ya nyumbani. Fungua WireGuard na folda ya seva-kifaa upate mac.conf. Skripti huonyesha njia kamili pia.

Terminal ya macOS — nenosiri
bash ./connect-wireguard-server.sh SERVER_IP mac
Terminal ya macOS — ufunguo wa SSH
bash ./connect-wireguard-server.sh SERVER_IP mac 22 ~/.ssh/id_ed25519

4c. Sanidi seva kutoka Ubuntu Desktop

Bonyeza Ctrl+Alt+T. Andika cd na nafasi, buruta folda wireguard-guide ndani ya Terminal, kisha Enter.

Badilisha SERVER_IP na utumie amri moja. ubuntu ni jina la profaili. Kizindua hiki na kuingia kwa SSH havihitaji sudo.

Katika kidhibiti faili, fungua Home, WireGuard na folda ya seva-kifaa. ubuntu.conf ipo katika ~/WireGuard/SERVER_IP-ubuntu/ubuntu.conf kwa anwani halisi ya seva. Tutatumia NetworkManager kuunganisha.

Ubuntu Desktop — nenosiri
bash ./connect-wireguard-server.sh SERVER_IP ubuntu
Ubuntu Desktop — ufunguo wa SSH
bash ./connect-wireguard-server.sh SERVER_IP ubuntu 22 ~/.ssh/id_ed25519

5a. Unganisha Windows au macOS

Sakinisha programu rasmi ya WireGuard. Ingiza faili .conf iliyotengenezwa, kubali ruhusa ya VPN na uwashe muunganisho. Jina la chaguo la kuingiza linaweza kutofautiana kwa toleo.

Profaili hupeleka IPv4 ndani ya VPN na ina njia chaguomsingi ya IPv6 ili kuzuia kuipita. Seva haitoi intaneti ya IPv6. Kagua matokeo kwenye kifaa kwa majaribio hapa chini.

Profaili ina ufunguo binafsi. Mwenye nakala anaweza kujaribu kutumia utambulisho wa VPN wa kifaa. Usiweke katika ombi la usaidizi, jenereta ya QR mtandaoni au kuitumia kwa vifaa vingi.

Vipakuzi rasmi vya WireGuard

5b. Unganisha Ubuntu Desktop kwa NetworkManager

NetworkManager huingiza profaili na kusimamia DNS na njia bila kutegemea toleo la dirisha la picha. Tumia amri kwenye kompyuta yako, si SSH ya VPS. Hakikisha nmcli inapatikana na NetworkManager inafanya kazi.

ubuntu.conf huunda muunganisho unaoitwa ubuntu. Kama jina lipo, chagua jina jingine la kifaa na urekebishe amri. Ingiza mara moja; baadaye tumia up na down. Mipangilio hii huzima kuunganishwa kiotomatiki kompyuta inapoanza.

DNS hii hutanguliza VPN kwa majina yote wakati imewashwa. DNS salama ya kivinjari inaweza kutofautiana. Fanya ukaguzi wa IP, DNS na IPv6 wa hatua ya 7. Njia hii haijajaribiwa kwenye Ubuntu Desktop halisi; jaribio la kontena halithibitishi DNS au IPv6 ya desktop.

Usiwashe profaili hiyo pia kwa wg-quick kwa sababu njia zinaweza kugongana. Unaweza kukagua na kukata muunganisho kwa nmcli hata kiolesura kikionyesha tofauti.

Ubuntu Desktop — kagua NetworkManager
nmcli --version
systemctl is-active NetworkManager
Ubuntu Desktop — ingiza mara moja na usanidi DNS
sudo nmcli connection import type wireguard file "$HOME/WireGuard/SERVER_IP-ubuntu/ubuntu.conf"
sudo nmcli connection modify ubuntu connection.autoconnect no ipv4.dns-priority -50 ipv4.dns-search "~."
Ubuntu Desktop — unganisha
sudo nmcli connection up ubuntu
nmcli connection show --active
Ubuntu Desktop — kata muunganisho
sudo nmcli connection down ubuntu

6. Unganisha iPhone au Android kwa QR

Sakinisha programu rasmi ya WireGuard kupitia kiungo cha App Store au Google Play hapa chini.

Kwenye kompyuta, ingia tena VPS kwa ssh root@SERVER_IP au amri yako ya ufunguo. Amri ya simu hapa chini hutengeneza profaili na kuonyesha QR.

Katika WireGuard ya simu, chagua kuongeza muunganisho kwa kuchanganua QR. Changanua msimbo kwenye kompyuta, taja muunganisho, kubali ruhusa ya VPN na uwashe.

Tumia profaili tofauti kwa kila simu. Usishiriki QR kwani inaruhusu ufikiaji wa VPN. Msimbo ukikatika mistari, panua dirisha la Terminal na uonyeshe tena.

Kwenye seva — tengeneza profaili ya iPhone
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.conf
Kwenye seva — tengeneza profaili tofauti ya Android
python3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf

WireGuard ya iPhone — App Store

WireGuard ya Android — Google Play

7. Hakikisha intaneti inapitia VPN

Kabla ya kuwasha VPN, fungua My IP kupitia kiungo chini na uandike anwani yako. Washa WireGuard, pakia My IP upya na ulinganishe na IPv4 ya umma ya VPS.

Ukurasa ukifunguka na kuonyesha anwani ya VPS, muunganisho huo wa kivinjari unapitia VPN. Ikiwa anwani ya zamani ipo, angalia utatuzi wa matatizo.

Hii hukagua kivinjari, si kila programu au ulinzi wakati VPN imekatika. Ukaguzi wa ziada unahusu DNS na IPv6.

Kagua IP yako ya umma

Hiari: kagua IPv6 na DNS

IPv6: fungua Test IPv6 kabla ya kuunganisha na uone kama IPv6 ipo. Washa VPN na ujaribu tena. Usanidi huu wa IPv4 haupaswi kuwa na intaneti ya IPv6 inayofanya kazi. IPv6 yako ya kawaida ikionekana, inapita nje ya VPN. Kama IPv6 haikuwepo kabla, jaribio halionyeshi tabia kwenye mtandao wenye IPv6.

DNS: VPN ikiwa imewashwa, tumia Standard test katika DNS Leak Test. Profaili hutumia Cloudflare DNS. Mtoa intaneti wa nyumbani akionekana, kagua DNS ya kifaa. Mtoa mwingine anaweza kutokana na Secure DNS ya kivinjari; chunguza badala ya kudhani moja kwa moja ni uvujaji. Matokeo hayahakikishi ulinzi wa kila programu.

Fungua Test IPv6

Fungua DNS Leak Test

8. Tatua muunganisho usiofanya kazi

My IP ikionyesha anwani ya kawaida, hakikisha profaili imewashwa katika WireGuard. Zima na uwashe mara moja kisha pakia My IP upya.

Tovuti zikishindwa VPN ikiwa imewashwa, izime ujaribu ukurasa uleule. Ukishindwa pia bila VPN, rekebisha intaneti ya kawaida kwanza. Ikiwa bila VPN inafanya kazi, tumia ukaguzi chini.

Kwa kulinganisha, unganisha kompyuta na hotspot ya simu ujaribu VPN. Kwenye simu, zima Wi-Fi ujaribu data ya simu. Huu ni ukaguzi wa muda; gharama za data zinaweza kutumika. Ikifanya kazi kwa data ya simu tu, tatizo linahusu muunganisho wa Wi-Fi lakini sababu kamili bado haijulikani.

Usanidi ukisimama kwa kosa, hifadhi ujumbe wa mwisho. Ukirekebisha sababu, rudia amri kwa jina lilelile la kifaa; profaili iliyopo huhifadhiwa.

Hakikisha seva ya VPN inaendelea kufanya kazi

Ingia kwa SSH kama hatua ya 2 na utumie amri. Matokeo yanapaswa kuwa active. Ikiwa inactive au failed, anzisha upya na ukague. Isipokuwa active, hifadhi kosa.

Kwenye seva — kagua WireGuard
systemctl is-active wg-quick@wg0
Kwenye seva — anzisha WireGuard upya ikiwa haifanyi kazi
systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0

Kuanzisha upya hukata vifaa vilivyounganishwa kwa muda mfupi.

Hakikisha kifaa kinafikia seva

Washa VPN, jaribu My IP, kisha tumia wg show kwenye seva. Tafuta latest handshake chini ya kifaa. 10 seconds ago humaanisha muunganisho uliosimbwa uliundwa hivi karibuni. Mstari usipokuwepo, bado hakuna muunganisho uliofanikiwa uliorekodiwa kwa kifaa.

Muunganisho mpya usipoonekana, hakikisha Endpoint ina anwani ya VPS ikifuatiwa na :51820. Katika paneli ya VPS, tafuta Firewall au Security groups. Ikiwa imewekewa firewall, ruhusu UDP inayoingia kwenye port 51820. Kiolesura hutegemea mtoa huduma; skripti tayari husanidi firewall ya Ubuntu.

Handshake ikiwa ya karibuni lakini tovuti hazifunguki, hifadhi matokeo na kosa au kumbukumbu ya programu. Kubadilisha mipangilio ya juu kiholela kunaweza kufanya uchunguzi kuwa mgumu.

Kwenye seva — onyesha hali ya VPN
wg show

9. Unaweza kutarajia kasi gani?

Jaribio letu la Windows lilipata takriban 350–400 Mbps kupakua na 450–500 Mbps kupakia, kwa njia ileile ya majaribio mengine ya VPN ya mradi. Njia: mtumiaji San Diego → VPN San Francisco Bay Area → seva ya kipimo Seattle.

Vultr Shared CPU vc2-1c-1gb: 1 vCPU, RAM 1 GB, SSD 25 GB na trafiki 1 TB kwa mwezi; dola 5 za Marekani kwa mwezi wakati wa kununua.

Haya ni matokeo ya usanidi huu. Kasi yako hutegemea intaneti, seva na eneo. Bado hatujalinganisha mipango au watoa VPS wengine.

10. Gharama, faragha na mipaka ya mtoa huduma

VPN yako hukupa udhibiti wa usanidi na eneo moja la kutoka. Unawajibika kwa masasisho, malipo, ufikiaji na urejeshaji. Haikufanyi kutotambulika na mwenyeji wala kuondoa haja ya HTTPS.

Kuvinjari, video, kupakua, kupakia na vipimo vya kasi hutumia mgao wa trafiki ya VPS. Kagua salio kwenye paneli. Kuzidisha kunaweza kuleta gharama au vizuizi kulingana na mpango.

Kabla ya P2P, soma masharti ya sasa ya mtoa huduma na sheria zinazotumika. Itifaki na haki za maudhui ni masuala tofauti. Pakua na shiriki tu maudhui unayoruhusiwa; si kila mwenyeji anaruhusu matumizi yote ya P2P.

IP ya kituo cha data inaweza kukumbana na CAPTCHA, vizuizi vya huduma au utiririshaji. WireGuard ya kawaida haihakikishi ufikiaji kutoka kila mtandao unaochujwa. VPS moja ni sehemu moja ya kushindwa bila mkusanyiko wa maeneo na seva mbadala za mtoa huduma mkubwa.

11. Ongeza vifaa, futa ufikiaji na udumishe seva

Kila kifaa kiwe na profaili yake. Simu ikipotea, ondoa peer yake kwa jina kwenye seva na nakala za profaili zilizobaki, kisha unda mpya. Kufuta faili kwenye simu pekee hakuondoi ufikiaji wa seva.

Weka masasisho ya usalama ya Ubuntu na ukague haja ya kuanza upya. Anzisha upya wakati unaofaa na uthibitishe VPN imerudi. Linda akaunti ya mwenyeji na SSH; badilisha uthibitishaji wa SSH tofauti ukiwa na njia mbadala iliyojaribiwa.

Skripti ya kuondoa husimamisha VPN hii na kufuta usanidi na kanuni zake za firewall. SSH, UFW na vifurushi hubaki. Usambazaji wa pakiti hubaki hadi sera ya mfumo itumike baada ya kuanza upya. Kuondoa VPN hakusimamishi bili ya VPS; hifadhi data muhimu kisha futa seva kupitia mtoa huduma usipoihitaji.

Kwenye seva — ondoa ufikiaji wa profaili ya iPhone
python3 /root/internetspeed-wireguard/manage-client.py remove iphone
Kwenye seva — kagua masasisho na haja ya kuanza upya
apt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-required
Kwenye seva — ondoa usanidi wa VPN (hukata vifaa vyote)
bash /root/internetspeed-wireguard/remove-server.sh --confirm