Amaliy qo‘llanma
Ubuntu’da skript yordamida WireGuard VPN serverini sozlash
Yangi Ubuntu serveridan shaxsiy VPN ulanishigacha: serverni sozlash, qurilma profillari va internet trafikining tunnel orqali o‘tishini tekshirish.
Server sozlamasi, Linux konteyneridagi ulanish va Windows tezligi tekshirildi. macOS, Ubuntu Desktop, iPhone va Android qurilmalaridagi tekshiruvlar hali yakunlanmagan.
1. Server tanlang va kirishni tayyorlang
Qo‘llanma Ubuntu 26.04 LTS VPS’da noldan o‘rnatish uchun. Ommaviy IPv4 manzili hamda root paroli yoki SSH kaliti kerak. Provayder va hududni ehtiyojingizga qarab tanlang.
Biz Vultr Shared CPU ishlatamiz: 1 vCPU, 1 GB RAM, 25 GB SSD va oyiga 1 TB trafik.
IPv6’siz tarmoqlardan ham ulanish uchun IPv4 server tanlang. Faqat IPv6 serverdan IPv4 saytlariga kirish qo‘shimcha sozlamalarni talab qiladi; bu yerda ko‘rilmaydi.
2. SSH orqali kirishni tekshiring
Windows: Start’da PowerShell topib oching. Mac: Command+Space, Terminal deb yozing va Enter. Ubuntu Desktop: Ctrl+Alt+T.
Barcha buyruqlarda SERVER_IP o‘rniga server panelidagi ommaviy IPv4’ni yozing. ssh root@SERVER_IP serverga root sifatida kiradi.
Parolli buyruqni yoki mavjud SSH kaliti buyrug‘ini tanlang. Kalitning namuna yo‘lini o‘zingiznikiga almashtiring.
Birinchi ulanishda SSH ishonchni tasdiqlashni so‘rashi mumkin. VPS manzilini tekshiring, yes yozib Enter bosing. So‘ralganda root parolini kiriting; yozilgan belgilar ko‘rinmaydi.
Kirganingizdan so‘ng Ubuntu’ni tekshirish buyrug‘ini bajaring, exit bilan kompyuteringizga qayting.
ssh root@SERVER_IPssh -i ~/.ssh/id_ed25519 root@SERVER_IPcat /etc/os-release
exitssh buyrug‘i topilmasa
Windows’da PowerShell’ni Run as administrator bilan ochib quyidagi buyruqni bajaring. So‘ng yoping va oddiy PowerShell oching. Ubuntu’da Ubuntu buyrug‘idan foydalaning. macOS’da SSH mijozi bor.
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0Aynan nusxalang. OpenSSH.Client~~~~0.0.1.0 — Windows komponent identifikatori; tilda belgilari va raqamlarni o‘zgartirmang.
sudo apt update
sudo apt install openssh-client3. O‘rnatish to‘plamini yuklab oling va ko‘ring
ZIP’ni yuklab, oching. Besh skriptni wireguard-guide papkasida birga saqlang. Quyidagi Windows, Mac yoki Ubuntu yo‘llaridan bittasini bajaring.
Skript VPS’ga WireGuard o‘rnatib, qurilma profilini yaratadi. Server paroli bir necha marta so‘ralishi mumkin.
4a. Windows’dan serverni sozlash
File Explorer’da wireguard-guide papkasini oching. Manzil satriga powershell yozib Enter bosing: kerakli papkada PowerShell ochiladi.
Ikki buyruqdan birini bajaring. SERVER_IP va kerak bo‘lsa SSH kaliti yo‘lini almashtiring.
-Device’dan keyingi windows — profil nomi. Ikkinchi kompyuterga laptop kabi boshqa nom bering. Har qurilmaning alohida profili birining kirishini boshqalarni uzmasdan bekor qilish imkonini beradi.
Tugagach, File Explorer manzil satriga %USERPROFILE%\WireGuard kiriting. Server va qurilma nomli papkada windows.conf bor. Skript to‘liq yo‘lni ham chiqaradi. VPN’ni 5-qadamda yoqasiz.
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows -IdentityFile "$HOME\.ssh\id_ed25519"PowerShell skriptni bloklasa
Fayl raqamli imzolanmagan deyilsa, shu papkada ushbu buyruqni bajaring va o‘rnatishni qayta urinib ko‘ring.
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1Skriptlar bajarilishi o‘chirilgan deyilsa, buyruqlarni bajarib so‘rovni tasdiqlang va qayta urining. O‘zgarish PowerShell oynasi yopilguncha amal qiladi.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1Siyosat xatosi qolsa, to‘xtang va xabarni tashxis uchun saqlang.
4b. Mac’dan serverni sozlash
Terminal’ni oching. cd va bo‘sh joy yozib, wireguard-guide papkasini Finder’dan Terminal’ga torting va Enter bosing.
Boshlanishidagi bash bilan birga buyruqni bajaring. SERVER_IP va kalit yo‘lini almashtiring. mac — profil nomi; boshqa Mac uchun macbook kabi nom tanlang.
Finder’da Command+Shift+H bilan uy papkangizni oching. WireGuard va server-qurilma papkasida mac.conf bo‘ladi. Skript to‘liq yo‘lni ham ko‘rsatadi.
bash ./connect-wireguard-server.sh SERVER_IP macbash ./connect-wireguard-server.sh SERVER_IP mac 22 ~/.ssh/id_ed255194c. Ubuntu Desktop’dan serverni sozlash
Ctrl+Alt+T bosing. cd va bo‘sh joy yozing, wireguard-guide papkasini Terminal’ga tortib Enter bosing.
SERVER_IP’ni almashtirib buyruqni bajaring. ubuntu — profil nomi. Ushbu ishga tushiruvchi skript yoki SSH uchun sudo kerak emas.
Fayl menejerida Home, WireGuard va server-qurilma papkasini oching. ubuntu.conf haqiqiy server manzili bilan ~/WireGuard/SERVER_IP-ubuntu/ubuntu.conf’da saqlanadi. Ulanish uchun NetworkManager ishlatiladi.
bash ./connect-wireguard-server.sh SERVER_IP ubuntubash ./connect-wireguard-server.sh SERVER_IP ubuntu 22 ~/.ssh/id_ed255195a. Windows yoki macOS’ni ulash
Rasmiy WireGuard ilovasini o‘rnating. Yaratilgan .conf faylni import qiling, VPN ruxsatini tasdiqlab tunnelni yoqing. Import tugmasi nomi versiyaga qarab farqlanishi mumkin.
Profil IPv4’ni tunnelga yo‘naltiradi va IPv6 chetlab o‘tmasligi uchun standart IPv6 yo‘lini qo‘shadi. Server IPv6 internet bermaydi. Qurilmadagi natijani quyida tekshiring.
Profil maxfiy kalit saqlaydi. Nusxasi bor kishi qurilmaning VPN identifikatoridan foydalanishga urinishi mumkin. Uni yordam so‘rovlariga yoki onlayn QR yaratuvchilarga yuklamang, qurilmalar o‘rtasida ulashmang.
5b. Ubuntu Desktop’ni NetworkManager bilan ulash
NetworkManager profilni import qilib, DNS va yo‘llarni boshqaradi; grafik dialog versiyasiga bog‘liq emas. Buyruqlarni VPS SSH seansida emas, kompyuteringizda bajaring. Avval nmcli borligini va NetworkManager ishlayotganini tekshiring.
ubuntu.conf ubuntu nomli ulanish yaratadi. Nom band bo‘lsa, boshqa qurilma nomini tanlab buyruqlarni moslang. Bir marta import qiling; keyin up va down ishlating. Quyidagi sozlama kompyuter yoqilganda avtomatik VPN’ni o‘chiradi.
DNS sozlamasi VPN faol paytda barcha nomlar uchun uni ustun qiladi. Brauzerning xavfsiz DNS’i farqlanishi mumkin. 7-qadamdagi IP, DNS va IPv6’ni tekshiring. Bu usul haqiqiy Ubuntu Desktop’da hali tekshirilmagan; konteyner natijasi desktop DNS va IPv6’sini tasdiqlamaydi.
Shu profilni bir vaqtda wg-quick bilan yoqmang: yo‘llar to‘qnashishi mumkin. Grafik ko‘rinishdan qat’i nazar nmcli bilan tekshirib uzish mumkin.
nmcli --version
systemctl is-active NetworkManagersudo 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 "~."sudo nmcli connection up ubuntu
nmcli connection show --activesudo nmcli connection down ubuntu6. iPhone yoki Android’ni QR orqali ulash
Quyidagi App Store yoki Google Play havolasidan rasmiy WireGuard ilovasini o‘rnating.
Kompyuterda ssh root@SERVER_IP yoki kalitli buyruq bilan VPS’ga qayta kiring. Telefon buyrug‘i profil yaratib QR’ni ko‘rsatadi.
Telefondagi WireGuard’da QR skanerlash orqali tunnel qo‘shishni tanlang. Kompyuterdagi kodni skanerlang, nom bering, VPN ruxsatini tasdiqlab yoqing.
Har telefonga alohida profil. QR’ni ulashmang: u VPN kirishini beradi. Kod satrlari buzilsa, Terminal oynasini kattalashtirib qayta ko‘rsating.
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. Internet VPN’dan o‘tishini tekshirish
VPN’ni yoqishdan oldin My IP havolasini ochib IP’ni yozib oling. WireGuard’ni yoqing, My IP’ni yangilang va VPS’ning ommaviy IPv4 manzili bilan solishtiring.
Sahifa ochilib VPS manzilini ko‘rsatsa, brauzer ulanishi VPN’dan o‘tmoqda. Eski manzil qolsa, muammolar bo‘limiga qarang.
Bu brauzerni tekshiradi, barcha ilovalar yoki VPN uzilgandagi himoyani emas. Qo‘shimcha tekshiruvlar DNS va IPv6 uchun.
Ixtiyoriy: IPv6 va DNS
IPv6: ulanishdan oldin Test IPv6’da manzil borligini tekshiring. VPN’ni yoqib takrorlang. Bu IPv4 sozlamasida IPv6 internet ishlamasligi kerak. Oddiy IPv6 manzilingiz ko‘rinsa, tunnelni chetlab o‘tmoqda. Avval IPv6 bo‘lmasa, test IPv6 tarmog‘idagi holatni ko‘rsatmaydi.
DNS: VPN faol paytda DNS Leak Test’da Standard test bajaring. Profil Cloudflare DNS ishlatadi. Uy provayderi ko‘rinsa, qurilma DNS’ini tekshiring. Boshqa provayder brauzer Secure DNS sozlamasidan kelishi mumkin; bu avtomatik sizib chiqish isboti emas. Natija barcha ilovalar himoyasini kafolatlamaydi.
8. Ulanish muammolarini hal qilish
My IP oddiy manzilni ko‘rsatsa, WireGuard profilini yoqilganini tekshiring. Bir marta o‘chirib yoqing va sahifani yangilang.
VPN yoqilganda saytlar ochilmasa, o‘chirib shu sahifani sinang. VPN’siz ham ochilmasa, avval oddiy internetni tuzating. Faqat VPN bilan ishlamasa, quyidagilarni tekshiring.
Solishtirish uchun kompyuterni telefon hotspot’iga ulang. Telefonda Wi-Fi’ni o‘chirib mobil internetni sinang; trafik haqi bo‘lishi mumkin. Bu vaqtinchalik test. Faqat mobil tarmoqda ishlasa, muammo shu Wi-Fi ulanishiga tegishli, lekin aniq sabab hali ma’lum emas.
O‘rnatish xato bilan to‘xtasa, oxirgi xabarni saqlang. Sababni tuzatib, o‘sha qurilma nomi bilan buyruqni takrorlang. Mavjud profil saqlanadi.
VPN server ishlayotganini tekshirish
2-qadamdagidek SSH’dan kirib buyruqni bajaring. Natija active bo‘lishi kerak. inactive yoki failed bo‘lsa, qayta ishga tushirish buyrug‘ini bajaring va tekshiring. Hali active bo‘lmasa, xatoni saqlang.
systemctl is-active wg-quick@wg0systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0Qayta ishga tushirish ulangan qurilmalarni qisqa muddatga uzadi.
Qurilma serverga yetib borishini tekshirish
VPN’ni yoqib My IP’ni oching, serverda wg show bajaring. Qurilma ostidagi latest handshake’ni toping. 10 seconds ago yaqinda shifrlangan aloqa o‘rnatilganini bildiradi. Satr yo‘q bo‘lsa, bu qurilmaning muvaffaqiyatli ulanishi qayd etilmagan.
Yangi aloqa ko‘rinmasa, profildagi Endpoint VPS manzili va :51820 ekanini tekshiring. VPS panelida Firewall yoki Security groups’ni oching. Firewall biriktirilgan bo‘lsa, kiruvchi UDP 51820’ga ruxsat kerak. Panel provayderga bog‘liq; Ubuntu firewall’ini skript sozlaydi.
Yangi handshake bor, saytlar ochilmasa, natija va ilova xatosi yoki jurnalini saqlang. Murakkab tarmoq sozlamalarini tasodifiy o‘zgartirish tashxisni qiyinlashtiradi.
wg show9. Qanday tezlik kutish mumkin?
Windows testimizda yuklab olish 350–400 Mbps, yuborish 450–500 Mbps atrofida bo‘ldi. Loyihadagi boshqa VPN’lar bilan bir xil usul ishlatildi. Yo‘l: San Diego’dagi foydalanuvchi → San Francisco Bay Area’dagi VPN → Seattle’dagi o‘lchov serveri.
Vultr Shared CPU vc2-1c-1gb: 1 vCPU, 1 GB RAM, 25 GB SSD va oyiga 1 TB trafik; yaratilgan paytda oyiga 5 AQSH dollari.
Bu shu sozlamada kuzatilgan natija. Sizdagi tezlik internet, server va joylashuvga bog‘liq. Boshqa VPS tariflari yoki provayderlar hali solishtirilmagan.
10. Xarajat, maxfiylik va provayder cheklovlari
Shaxsiy VPN sozlamalar va bitta chiqish hududini boshqarish imkonini beradi. Yangilanishlar, to‘lov, qurilma kirishi va tiklash sizning zimmangizda. Hosting provayderidan anonimlik bermaydi va HTTPS o‘rnini bosmaydi.
Saytlar, video, yuklab olish, yuborish va tezlik testlari VPS trafik limitini sarflaydi. Qoldiqni panelda kuzating. Limitdan oshish tarifga qarab qo‘shimcha haq yoki cheklov keltiradi.
P2P’dan oldin provayderning amaldagi shartlari va qonunlarni ko‘ring. Protokol va kontent huquqi alohida masalalar. Faqat olish va ulashishga huquqingiz bo‘lgan kontentdan foydalaning; hamma hosting barcha P2P ishlatishga ruxsat bermaydi.
Data-markaz IP’si CAPTCHA, xizmat yoki striming bloklariga uchrashi mumkin. Oddiy WireGuard barcha filtrlangan tarmoqlarda ishlashni kafolatlamaydi. Bitta VPS katta provayderning ko‘p hudud va zaxira serverlari o‘rniga bitta nosozlik nuqtasidir.
11. Qurilmalar qo‘shish, kirishni bekor qilish va xizmat ko‘rsatish
Har qurilmaga bitta profil. Yo‘qolgan telefonning nomli peer yozuvini serverdan va qolgan profil nusxalarini o‘chiring, keyin yangi profil yarating. Faqat telefondagi faylni o‘chirish server kirishini bekor qilmaydi.
Ubuntu xavfsizlik yangilanishlarini o‘rnating va qayta yuklash zaruratini tekshiring. Qulay paytda qayta yuklab VPN qaytganini ko‘ring. Hosting va SSH’ni himoyalang; SSH autentifikatsiyasini alohida, sinalgan muqobil kirish bilan o‘zgartiring.
O‘chirish skripti bu VPN’ni to‘xtatib, o‘zi boshqaradigan sozlamalar va firewall qoidalarini o‘chiradi. SSH, UFW va paketlar qoladi. Paket yo‘naltirish qayta yuklashda tizim siyosati qo‘llanguncha faol qoladi. VPN’ni o‘chirish VPS to‘lovini to‘xtatmaydi: kerakli ma’lumotni saqlab, kerakmas instansni provayder panelida o‘chiring.
python3 /root/internetspeed-wireguard/manage-client.py remove iphoneapt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-requiredbash /root/internetspeed-wireguard/remove-server.sh --confirm