InternetSpeed.online

Тил

Макалалар

Практикалык колдонмо

Ubuntu’да скрипт менен WireGuard VPN серверин кантип орнотуу керек

Жаңы Ubuntu серверинен жеке VPN байланышына чейин: серверди жөндөө, түзмөк профилдери жана интернет трафигинин туннелден өткөнүн текшерүү.

Серверди орнотуу, Linux контейнеринин байланышы жана Windows ылдамдыгы текшерилди. macOS, Ubuntu Desktop, iPhone жана Android түзмөктөрүндөгү текшерүүлөр бүтө элек.

1. Сервер тандап, кирүүнү даярдаңыз

Бул колдонмо Ubuntu 26.04 LTS VPS’ке башынан орнотуу үчүн. Жалпыга ачык IPv4 дареги жана root сырсөзү же SSH ачкычы керек. Провайдер менен аймакты муктаждыгыңызга жараша тандаңыз.

Vultr Shared CPU колдонобуз: 1 vCPU, 1 GB RAM, 25 GB SSD жана айына 1 TB трафик.

IPv6 жок тармактардан да туташуу үчүн IPv4 тандаңыз. IPv6 гана болгон серверден IPv4 сайттарына кирүү кошумча жөндөөнү талап кылат; бул жерде каралбайт.

2. SSH аркылуу кирүүнү текшериңиз

Windows: Start’тан PowerShell таап ачыңыз. Mac: Command+Space, Terminal деп жазып Enter басыңыз. Ubuntu Desktop: Ctrl+Alt+T.

Бардык буйруктарда SERVER_IP ордуна сервер панелиндеги ачык IPv4 дарегин жазыңыз. ssh root@SERVER_IP root катары туташтырат.

Сырсөз буйругун же бар болгон SSH ачкычынын буйругун тандаңыз. Ачкычтын үлгү жолун өзүңүздүкүнө алмаштырыңыз.

Биринчи туташууда SSH ишенимди ырастоону сурашы мүмкүн. VPS дарегин текшерип, yes деп жазып Enter басыңыз. Суралганда root сырсөзүн киргизиңиз; терген белгилер көрүнбөйт.

Киргенден кийин Ubuntu’ну текшерүү буйругун аткарыңыз, exit менен өз компьютериңизге кайтыңыз.

Компьютериңиздеги PowerShell же Terminal — сырсөз менен кирүү
ssh root@SERVER_IP
Компьютериңиздеги PowerShell же Terminal — бар SSH ачкычы
ssh -i ~/.ssh/id_ed25519 root@SERVER_IP
Серверде
cat /etc/os-release
exit
ssh буйругу табылбаса

Windows’та PowerShell’ди Run as administrator менен ачып, төмөнкү буйрукту аткарыңыз. Анан жаап, кадимки PowerShell ачыңыз. Ubuntu’да Ubuntu буйругун колдонуңуз. macOS’то SSH кардары бар.

Windows — администратор PowerShell’де SSH кардарын орнотуу
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Так көчүрүңүз. OpenSSH.Client~~~~0.0.1.0 — Windows компонентинин идентификатору; тильдаларды жана сандарды өзгөртпөңүз.

Ubuntu Desktop — SSH кардарын орнотуу
sudo apt update
sudo apt install openssh-client

3. Орнотуу топтомун жүктөп, карап чыгыңыз

ZIP’ти жүктөп, ачыңыз. Беш скриптти wireguard-guide папкасында чогуу сактаңыз. Windows, Mac же Ubuntu жолдорунун бирин гана аткарыңыз.

Скрипт VPS’ке WireGuard орнотуп, түзмөк профилин түзөт. Сервер сырсөзү бир нече жолу суралышы мүмкүн.

Орнотуу скрипттерин жүктөө (.zip)

4a. Windows аркылуу серверди орнотуу

File Explorer’де чыгарылган wireguard-guide папкасын ачыңыз. Дарек сабына powershell жазып Enter бассаңыз, ошол папкада PowerShell ачылат.

Эки буйруктун бирин аткарыңыз. SERVER_IP жана керек болсо SSH ачкычынын жолун алмаштырыңыз.

-Device’ден кийинки windows — профиль аты. Экинчи компьютерге laptop сыяктуу башка ат бериңиз. Өзүнчө профиль бир түзмөктүн кирүүсүн башкаларды үзбөстөн жокко чыгарууга мүмкүндүк берет.

Бүткөндө File Explorer дарек сабына %USERPROFILE%\WireGuard жазыңыз. Сервер-түзмөк атындагы папкадан windows.conf табасыз. Скрипт толук жолду да көрсөтөт. VPN’ди 5-кадамда күйгүзүңүз.

PowerShell — сырсөз менен ырастоо
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows
PowerShell — SSH ачкычы менен ырастоо
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows -IdentityFile "$HOME\.ssh\id_ed25519"
PowerShell скриптти бөгөттөсө

Файлда санарип колтамга жок десе, ушул папкада бул буйрукту аткарып, орнотууну кайра сынаңыз.

PowerShell — жүктөлгөн файлдын бөгөтүн ачуу
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1

Скрипт аткаруу өчүрүлгөн десе, буйруктарды аткарып, суроону ырастаңыз да кайра сынаңыз. Өзгөртүү PowerShell терезеси жабылганга чейин гана иштейт.

PowerShell — ушул терезеде гана скрипттерге уруксат
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1

Саясат катасы калса, токтоп, билдирүүнү диагностикага сактаңыз.

4b. Mac аркылуу серверди орнотуу

Terminal ачыңыз. cd жана боштук жазыңыз, wireguard-guide папкасын Finder’ден Terminal’га сүйрөп Enter басыңыз.

Башындагы bash менен кошо буйрукту аткарыңыз. SERVER_IP жана ачкыч жолун алмаштырыңыз. mac — профиль аты; башка Mac үчүн macbook сыяктуу ат тандаңыз.

Finder’де Command+Shift+H менен үй папкаңызды ачыңыз. WireGuard жана сервер-түзмөк папкасында mac.conf турат. Скрипт толук жолду да көрсөтөт.

macOS Terminal — сырсөз
bash ./connect-wireguard-server.sh SERVER_IP mac
macOS Terminal — SSH ачкычы
bash ./connect-wireguard-server.sh SERVER_IP mac 22 ~/.ssh/id_ed25519

4c. Ubuntu Desktop аркылуу серверди орнотуу

Ctrl+Alt+T басыңыз. cd жана боштук жазып, wireguard-guide папкасын Terminal’га сүйрөңүз да Enter басыңыз.

SERVER_IP’ни алмаштырып буйрукту аткарыңыз. ubuntu — профиль аты. Бул ишке киргизгичке жана SSH кирүүгө sudo кереги жок.

Файл менеджеринде Home, WireGuard жана сервер-түзмөк папкасын ачыңыз. Профиль чыныгы сервер дареги менен ~/WireGuard/SERVER_IP-ubuntu/ubuntu.conf жолунда. Байланыш үчүн NetworkManager колдонулат.

Ubuntu Desktop’то — сырсөз
bash ./connect-wireguard-server.sh SERVER_IP ubuntu
Ubuntu Desktop’то — SSH ачкычы
bash ./connect-wireguard-server.sh SERVER_IP ubuntu 22 ~/.ssh/id_ed25519

5a. Windows же macOS’ту туташтыруу

Расмий WireGuard колдонмосун орнотуңуз. Түзүлгөн .conf файлын импорттоп, VPN уруксатын ырастап туннелди күйгүзүңүз. Импорт тандоосунун аты версияга жараша айырмаланат.

Профиль IPv4’тү туннелге жөнөтөт жана IPv6 сырттан өтпөшү үчүн демейки IPv6 маршрутун камтыйт. Сервер IPv6 интернет бербейт. Түзмөктүн иштешин төмөндө текшериңиз.

Профилде жашыруун ачкыч бар. Көчүрмөсү бар адам түзмөктүн VPN атынан кирүүгө аракеттениши мүмкүн. Аны жардам сурамына, онлайн QR генераторуна жүктөбөңүз жана түзмөктөр арасында бөлүшпөңүз.

Расмий WireGuard жүктөөлөрү

5b. Ubuntu Desktop’ту NetworkManager менен туташтыруу

NetworkManager профилди импорттоп, DNS жана маршруттарды башкарат; графикалык диалогдун версиясына көз каранды эмес. Буйруктарды VPS SSH ичинде эмес, компьютериңизде аткарыңыз. Алгач nmcli жана NetworkManager иштеп жатканын текшериңиз.

ubuntu.conf ubuntu аттуу байланыш түзөт. Ат мурунтан болсо, башка түзмөк атын тандап, буйруктарды ылайыктаңыз. Бир жолу импорттоңуз; андан кийин up жана down колдонуңуз. Төмөнкү жөндөө компьютер башталганда автоматтык VPN’ди өчүрөт.

DNS жөндөөсү байланыш активдүү кезде бардык аттар үчүн VPN’ге артыкчылык берет. Браузердин коопсуз DNS’и башкача болушу мүмкүн. 7-кадамда IP, DNS жана IPv6 текшериңиз. Бул ыкма чыныгы Ubuntu Desktop’то сынала элек; контейнер натыйжасы desktop DNS жана IPv6 жүрүмүн ырастабайт.

Ушул профилди бир убакта wg-quick менен күйгүзбөңүз: маршруттар кагылышат. Графикалык көрүнүш башка болсо да nmcli менен текшерип, өчүрсөңүз болот.

Ubuntu Desktop — NetworkManager текшерүү
nmcli --version
systemctl is-active NetworkManager
Ubuntu Desktop — бир жолу импорттоо жана 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 — туташуу
sudo nmcli connection up ubuntu
nmcli connection show --active
Ubuntu Desktop — ажыратуу
sudo nmcli connection down ubuntu

6. iPhone же Android’ди QR аркылуу туташтыруу

Төмөнкү App Store же Google Play шилтемесинен расмий WireGuard’ди орнотуңуз.

Компьютерден ssh root@SERVER_IP же ачкыч буйругу менен VPS’ке кайра кириңиз. Телефон буйругу профиль түзүп, QR көрсөтөт.

Телефондогу WireGuard’дан QR сканерлеп туннель кошууну тандаңыз. Компьютердин кодун сканерлеп, ат бериңиз, VPN уруксатын ырастап күйгүзүңүз.

Ар телефонго өзүнчө профиль. QR’ди бөлүшпөңүз: ал VPN кирүүсүн берет. Коддун саптары бузулса, Terminal терезесин чоңойтуп кайра көрсөтүңүз.

Серверде — iPhone профилин түзүү
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.conf
Серверде — өзүнчө Android профилин түзүү
python3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf

iPhone үчүн WireGuard — App Store

Android үчүн WireGuard — Google Play

7. Интернет VPN аркылуу өткөнүн текшерүү

VPN’ди күйгүзөрдөн мурун My IP’ни ачып, даректи жазып алыңыз. WireGuard’ди күйгүзүп, My IP’ни жаңыртыңыз жана VPS’тин ачык IPv4 дареги менен салыштырыңыз.

Барак ачылып VPS дареги көрүнсө, ошол браузер байланышы VPN’ден өтөт. Эски дарек калса, көйгөйлөр бөлүмүн караңыз.

Бул браузерди текшерет, бардык колдонмолорду же VPN үзүлгөндөгү коргоону эмес. Кошумча текшерүүлөр DNS жана IPv6 үчүн.

Ачык IP дарегиңизди текшерүү

Кошумча: IPv6 жана DNS

IPv6: туташканга чейин Test IPv6’да IPv6 барбы караңыз. VPN менен кайталаңыз. Бул IPv4 жөндөөсүндө IPv6 интернет иштебеши керек. Кадимки IPv6 көрүнсө, туннелди айланып өтүүдө. Башында IPv6 жок болсо, тест IPv6 тармагындагы жүрүмдү көрсөтпөйт.

DNS: VPN активдүү кезде DNS Leak Test’тен Standard test жасаңыз. Профиль Cloudflare DNS колдонот. Үй провайдери көрүнсө, түзмөк DNS’ин караңыз. Башка провайдер браузердин Secure DNS жөндөөсүнөн чыгышы мүмкүн; бул дароо агып кетүү далили эмес. Натыйжалар бардык колдонмолордун коргоосун кепилдебейт.

Test IPv6 ачуу

DNS Leak Test ачуу

8. Байланыш көйгөйлөрүн чечүү

My IP кадимки даректи көрсөтсө, WireGuard профили күйгөнүн караңыз. Бир жолу өчүрүп күйгүзүп, My IP жаңыртыңыз.

VPN менен сайттар ачылбаса, өчүрүп ошол баракты ачыңыз. Анда да иштебесе, кадимки интернетти оңдоңуз. VPN менен гана бузулса, төмөндө текшериңиз.

Салыштыруу үчүн компьютерди телефондун хотспотуна туташтырыңыз. Телефондо Wi-Fi’ды өчүрүп мобилдик интернетти сынаңыз; трафик акысы болушу мүмкүн. Бул убактылуу тест. Мобилдикте гана иштесе, көйгөй ошол Wi-Fi байланышына тиешелүү, бирок так себеби али белгисиз.

Орнотуу ката менен токтосо, акыркы билдирүүнү сактаңыз. Себебин оңдоп, ошол түзмөк аты менен буйрукту кайталаңыз. Мурдагы профиль сакталат.

VPN сервер иштеп жатканын текшерүү

2-кадамдагыдай SSH менен кирип буйрукту аткарыңыз. Натыйжа active болушу керек. inactive же failed болсо, кайра иштетүү буйругун берип текшериңиз. Дагы active болбосо, катаны сактаңыз.

Серверде — WireGuard текшерүү
systemctl is-active wg-quick@wg0
Серверде — активдүү эмес WireGuard’ди кайра иштетүү
systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0

Кайра иштетүү түзмөктөрдү кыска убакытка ажыратат.

Түзмөк серверге жеткенин текшерүү

VPN’ди күйгүзүп My IP ачыңыз, серверде wg show аткарыңыз. Түзмөктүн алдынан latest handshake табыңыз. 10 seconds ago жакында шифрленген байланыш түзүлгөнүн билдирет. Сап жок болсо, бул түзмөктүн ийгиликтүү байланышы жазыла элек.

Жаңы байланыш жок болсо, Endpoint’те VPS дареги жана :51820 барын караңыз. VPS панелинен Firewall же Security groups ачыңыз. Firewall кошулган болсо, кирүүчү UDP 51820 уруксат алышы керек. Экран провайдерге жараша; Ubuntu firewall’ун скрипт жөндөйт.

Жаңы handshake болуп сайт ачылбаса, натыйжаны жана колдонмонун катасын же журналын сактаңыз. Өркүндөтүлгөн жөндөөлөрдү туш келди өзгөртүү диагнозду кыйындатат.

Серверде — VPN абалын көрсөтүү
wg show

9. Кандай ылдамдык күтсө болот?

Windows тестибизде жүктөө 350–400 Mbps, жөнөтүү 450–500 Mbps чамасында болду. Долбоордун башка VPN тесттери менен бирдей ыкма колдонулду. Жол: San Diego’догу колдонуучу → San Francisco Bay Area’дагы VPN → Seattle’деги өлчөө сервери.

Vultr Shared CPU vc2-1c-1gb: 1 vCPU, 1 GB RAM, 25 GB SSD, айына 1 TB трафик; алынган учурда айына 5 АКШ доллары.

Бул ушул жөндөөнүн натыйжасы. Сиздин ылдамдык интернетке, серверге жана жерге көз каранды. Башка VPS тарифтери же провайдерлер салыштырыла элек.

10. Чыгымдар, купуялык жана провайдер чектери

Жеке VPN жөндөөнү жана бир чыгуу аймагын башкарууга мүмкүндүк берет. Жаңыртуу, төлөм, түзмөк кирүүсү жана калыбына келтирүү сизде. Хостинг провайдеринен жашырбайт жана HTTPS’ти алмаштырбайт.

Сайт кароо, видео, жүктөө, жөнөтүү жана ылдамдык тесттери VPS трафик квотасын сарптайт. Калдыгын панелден караңыз. Ашып кетсе тарифке жараша акы же чектөө болот.

P2P алдында провайдердин учурдагы шарттарын жана мыйзамды караңыз. Протокол менен контент укугу өзүнчө маселелер. Укугуңуз болгон маалыматты гана жүктөп бөлүшүңүз; ар хост бардык P2P колдонууга уруксат бербейт.

Дата-борбор IP’си CAPTCHA, кызмат же стриминг бөгөтүнө кабылышы мүмкүн. Кадимки WireGuard бардык чыпкаланган тармакта иштөөгө кепил эмес. Бир VPS — чоң провайдердин көп аймак жана алмаштыруучу серверлеринин ордуна бир бузулуу чекити.

11. Түзмөк кошуу, кирүүнү жокко чыгаруу жана тейлөө

Ар түзмөккө бир профиль. Жоголгон телефондун peer жазуусун серверден жана калган профиль көчүрмөлөрүн өчүрүп, жаңы профиль түзүңүз. Телефондогу файлды гана өчүрүү сервердеги кирүүнү жокко чыгарбайт.

Ubuntu коопсуздук жаңыртууларын коюп, кайра жүктөө зарылдыгын караңыз. Ыңгайлуу учурда кайра жүктөп VPN кайтканын текшериңиз. Хостинг жана SSH’ти коргоңуз; SSH ырастоосун өзүнчө кадамда, сыналган башка кирүү жолу менен өзгөртүңүз.

Өчүрүү скрипти VPN’ди токтотуп, өзү башкарган жөндөөлөрдү жана firewall эрежелерин өчүрөт. SSH, UFW жана пакеттер калат. Пакет багыттоо кайра жүктөөдө система саясаты колдонулганча иштейт. VPN’ди өчүрүү VPS төлөмүн токтотпойт; керектүү маалыматты сактап, керексиз серверди провайдерден өчүрүңүз.

Серверде — iPhone профилин жокко чыгаруу
python3 /root/internetspeed-wireguard/manage-client.py remove iphone
Серверде — жаңыртуу жана кайра жүктөө зарылдыгы
apt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-required
Серверде — VPN жөндөөсүн өчүрүү (бардык кардарлар ажырайт)
bash /root/internetspeed-wireguard/remove-server.sh --confirm