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.
Usanidi huu unafaa lini?
Unafaa ukitaka VPN binafsi inayofikia intaneti kupitia seva unayochagua, na mtandao wako unaruhusu WireGuard. Unachagua mtoa huduma, eneo la seva na vifaa vinavyoweza kuunganisha.
Ikiwa mtandao unazuia VPN, WireGuard ya kawaida huenda isifae. Haifichi muunganisho wake kama trafiki ya kawaida ya wavuti. Hata seva iliyosanidiwa vizuri inaweza kutofikika kupitia mtoa intaneti wako. Zingatia hili kabla ya kulipia VPS.
Kwa mitandao inayozuia VPN, fikiria AmneziaWG au Xray yenye VLESS na REALITY. AmneziaVPN inaweza kuvisanidi kwenye seva yako. Vimeundwa kupinga utambuzi na vizuizi, lakini havihakikishi kuunganisha kutoka kila mtandao.
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 VPS yenye 1 vCPU na RAM ya 1 GB katika mwongozo huu.
Chagua IPv4 ili kuunganisha kutoka mitandao isiyo na IPv6. Seva yenye IPv6 pekee inahitaji mipangilio zaidi kufikia tovuti za IPv4 pekee; haijumuishwi hapa.
Usalama wa seva: mwongozo huu unahusu kusakinisha VPN, si usalama na matengenezo yote ya VPS. Skripti huweka ngome kwa SSH na WireGuard. Masasisho ya usalama na kulinda ufikiaji ni jukumu lako. Tumia ufunguo wa SSH, washa uthibitishaji wa hatua mbili katika akaunti ya hosting na linda profaili kama manenosiri. Zima kuingia kwa nenosiri la SSH baada tu ya kuthibitisha ufunguo unafanya kazi.
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.
ssh root@SERVER_IPssh -i ~/.ssh/id_ed25519 root@SERVER_IPcat /etc/os-release
exitIkiwa 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.
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0Nakili bila kubadilisha. OpenSSH.Client~~~~0.0.1.0 ni kitambulisho cha kipengele cha Windows; hifadhi alama za tilde na namba.
sudo apt update
sudo apt install openssh-client3. Pakua na ukague kifurushi
Pakua ZIP na utoe faili. Hifadhi skripti zote pamoja kwenye folda wireguard-guide. Fuata sehemu moja tu ya Windows, Mac au Ubuntu.
Skripti husakinisha WireGuard kwenye VPS na kuhifadhi profaili ya VPN kwenye kompyuta kwa muunganisho mmoja wa SSH katika usanidi wote. Ukiingia kwa nenosiri, huulizwa mara moja kwa utekelezaji uliofanikiwa na halihifadhiwi na skripti.
Jina la profaili linaweza kuwa na herufi 1–15 za Kiingereza kubwa au ndogo, tarakimu na vistari, likianza kwa herufi. Bila nafasi. Mifano: my-wg-vpn, my-laptop, my-phone. Usipotoa jina, skripti huuliza; Enter huchagua my-wg-vpn. Jina lisilofaa huombwa tena. Tumia jina tofauti kwa kila kifaa cha ziada.
Kupakua wasifu uliopo, endesha skripti, chagua 2 (Manage existing server), unganisha, kisha chagua 9 (Download profile). Ingiza jina kutoka kwenye orodha; Enter bila jina hughairi. Upakuaji hutumia muunganisho uleule wa SSH bila kuuliza nenosiri la seva tena. Upakuaji uliofanikiwa hubadilisha faili ya ndani yenye jina lilelile.
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 zilizo hapa chini. Badilisha SERVER_IP kuwa anwani ya VPS, na njia ya ufunguo ikiwa unautumia.
Chagua 1 (Set up server), ingiza IP ya seva na jina la wasifu, kisha njia ya ufunguo wa SSH au bonyeza Enter. Enter huhifadhi jina lililopendekezwa. Kagua muhtasari na uandike yes/y kuendelea; Andika no kughairi. Baada ya majibu 3 yasiyotambulika, skripti hufungwa. Maendeleo huonyes/yhwa wakati wa usakinishaji. Kubonyeza Enter pia huendelea.
Wasifu huhifadhiwa katika folda yako ya nyumbani kwenye WireGuard/SERVER_IP/my-wg-vpn.conf. Skripti huonyesha njia kamili.
.\Connect-WireGuardServer.ps1.\Connect-WireGuardServer.ps1 -Server SERVER_IP -ProfileName my-wg-vpn.\Connect-WireGuardServer.ps1 -Server SERVER_IP -ProfileName my-wg-vpn -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.
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1, .\ManagementClient.ps1Ikiwa utekelezaji wa skripti umezimwa, tumia amri hizi, thibitisha ombi na ujaribu tena. Mabadiliko huisha ukifunga dirisha hili la PowerShell.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1, .\ManagementClient.ps1Ikiwa 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. my-wg-vpn ni jina la profaili; tumia jingine kama macbook kwa Mac nyingine.
Wasifu huhifadhiwa katika folda yako ya nyumbani kwenye WireGuard/SERVER_IP/my-wg-vpn.conf. Skripti huonyesha njia kamili.
Chagua 1 (Set up server), ingiza IP ya seva na jina la wasifu, kisha njia ya ufunguo wa SSH au bonyeza Enter. Enter huhifadhi jina lililopendekezwa. Kagua muhtasari na uandike yes/y kuendelea; Andika no kughairi. Baada ya majibu 3 yasiyotambulika, skripti hufungwa. Maendeleo huonyes/yhwa wakati wa usakinishaji. Kubonyeza Enter pia huendelea.
bash ./connect-wireguard-server.shbash ./connect-wireguard-server.sh SERVER_IP my-wg-vpnbash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn 22 ~/.ssh/id_ed255194c. 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. my-wg-vpn ni jina la profaili. Kizindua hiki na kuingia kwa SSH havihitaji sudo.
Wasifu huhifadhiwa katika folda yako ya nyumbani kwenye WireGuard/SERVER_IP/my-wg-vpn.conf. Skripti huonyesha njia kamili.
Chagua 1 (Set up server), ingiza IP ya seva na jina la wasifu, kisha njia ya ufunguo wa SSH au bonyeza Enter. Enter huhifadhi jina lililopendekezwa. Kagua muhtasari na uandike yes/y kuendelea; Andika no kughairi. Baada ya majibu 3 yasiyotambulika, skripti hufungwa. Maendeleo huonyes/yhwa wakati wa usakinishaji. Kubonyeza Enter pia huendelea.
bash ./connect-wireguard-server.shbash ./connect-wireguard-server.sh SERVER_IP my-wg-vpnbash ./connect-wireguard-server.sh SERVER_IP my-wg-vpn 22 ~/.ssh/id_ed25519Kabla ya kuunganisha: nini hutokea VPN ikiacha kufanya kazi?
Full tunnel huelekeza trafiki ya kawaida ya intaneti kupitia VPN wakati profaili imewashwa.
Kill switch huzuia miunganisho ya intaneti nje ya VPN. Tabia yake hutegemea programu na mipangilio: seva kutofikika, kuzima profaili mwenyewe na kuwasha upya kifaa vinaweza kutoa matokeo tofauti. Mwongozo huunda profaili ya full tunnel, lakini hauweki kizuizi cha kudumu kinachofanana kwenye vifaa vyote. Bila ulinzi wa ziada, kuzima profaili kunaweza kurudisha intaneti ya kawaida.
Windows: programu rasmi huwasha kill switch kiotomatiki kwa profaili inayoundwa na skripti. Ulinzi hufanya kazi wakati handaki limewashwa. Kuzima profaili mwenyewe huruhusu intaneti ya kawaida tena.
Android: kwenye mipangilio ya mfumo wa simu, tafuta VPN na mipangilio ya WireGuard. Washa Always-on VPN na Block connections without VPN kuzuia miunganisho nje ya VPN; Always-on pekee haitoshi. Majina na mahali vinaweza kutofautiana kwa simu. Kizuizi kikiwa kimewashwa, VPN kutopatikana humaanisha intaneti pia haipatikani.
Mac na iPhone: On-Demand huunganisha kiotomatiki kulingana na kanuni zilizowekwa. Usiichukulie kuwa kill switch ya kudumu.
Ubuntu Desktop: uingizaji wa NetworkManager hapa chini hauundi kill switch tofauti. Inahitaji kanuni zaidi za ngome kwenye kompyuta.
Seva kutofikika na profaili ya VPN kuzimwa ni hali tofauti. Seva ikiacha kujibu huku profaili imewashwa, trafiki inaweza kusimama tu; si lazima kifaa kimehamia nje ya VPN.
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.
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.
my-wg-vpn.conf huunda muunganisho unaoitwa my-wg-vpn. 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.
nmcli --version
systemctl is-active NetworkManagersudo 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 "~."sudo nmcli connection up my-wg-vpn
nmcli connection show --activesudo nmcli connection down my-wg-vpn6. 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.
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.confpython3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf7. 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.
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.
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.
systemctl is-active wg-quick@wg0systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0Kuanzisha 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.
wg show9. Unaweza kutarajia kasi gani?
Jaribio letu la Windows lilipata takriban 450–500 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 na trafiki 1 TB kwa mwezi; dola 5 za Marekani kwa mwezi wakati wa kununua.
Katika jaribio tofauti, seva ya Vultr Shared CPU Intel High Frequency (vhf-1c-1gb; 1 vCPU, 1 GB RAM), yenye gharama ya dola 6 za Marekani kwa mwezi, ilipata takriban 550–750 Mbps kwa kupakua na kupakia. Mipango yote miwili ilijaribiwa kwenye Windows kwa njia ileile na kupitia maeneo yaleyale: San Diego → seva ya VPN San Francisco Bay Area → seva ya kipimo Seattle.
Matokeo yalitofautiana kati ya seva za Intel High Frequency tulizojaribu: baadhi zilitoa kasi karibu na kikomo cha juu mara kwa mara, huku nyingine zikibaki karibu na kikomo cha chini. Kuchagua mpango huu pekee hakukuhakikisha 750 Mbps.
Haya ni matokeo ya usanidi huu. Kasi yako hutegemea intaneti, seva na eneo.
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.
Seva tulizojaribu ziligharimu dola 5 na 6 za Marekani kwa mwezi. Bei, vifaa na mgao wa trafiki hutofautiana kwa mtoa huduma na eneo. Ukilinganisha na usajili wa VPN, kumbuka VPS moja hutoa eneo moja unalochagua na matengenezo ni yako.
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
Tumia profaili tofauti kwa kila kifaa. Kuondoa ufikiaji wa profaili ya VPN, ingia kwenye VPS kwa SSH na endesha amri ya kuondoa hapa chini, ukibadilisha iphone kwa jina la profaili. Kisha futa nakala za faili au QR zilizohifadhiwa. Kufuta profaili kwenye kifaa pekee hakuondoi ufikiaji kwenye 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.
python3 /root/internetspeed-wireguard/manage-client.py remove iphoneapt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-requiredAmri hizi huorodhesha masasisho na kuangalia hitaji la kuwasha upya; hazisakinishi masasisho. Sanidi masasisho ya usalama na ulinzi mpana wa VPS kando na usakinishaji wa VPN.
bash /root/internetspeed-wireguard/remove-server.sh --confirm