InternetSpeed.online

Забон

Мақолаҳо

Роҳнамои амалӣ

Чӣ тавр сервери VPN-и WireGuard-ро дар Ubuntu бо скрипт насб кунем

Аз сервери нави Ubuntu то VPN-и шахсӣ: танзими сервер, профилҳои дастгоҳ ва санҷиши гузаштани интернет аз нақб.

Насби сервер, пайвасти контейнери Linux ва суръати Windows санҷида шуданд. Санҷишҳо дар худи macOS, Ubuntu Desktop, iPhone ва Android ҳанӯз анҷом наёфтаанд.

1. Сервер интихоб карда, дастрасиро омода кунед

Роҳнамо барои насб аз сифр дар VPS-и Ubuntu 26.04 LTS аст. IPv4-и оммавӣ ва пароли root ё калиди SSH лозиманд. Провайдер ва минтақаро мувофиқи ниёз интихоб кунед.

Мо Vultr Shared CPU истифода мебарем: 1 vCPU, 1 GB RAM, 25 GB SSD ва моҳе 1 TB трафик.

IPv4 интихоб кунед, то аз шабакаҳои бе IPv6 ҳам пайваст шавед. Сервери танҳо 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 — насби муштарии SSH дар PowerShell-и маъмур
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-ро иҷро кунед.

Скрипт WireGuard-ро дар VPS насб карда, профили дастгоҳ месозад. Пароли сервер метавонад чанд бор пурсида шавад.

Боргирии скриптҳои насб (.zip)

4a. Танзими сервер аз Windows

Дар File Explorer ҷузвдони wireguard-guide-ро кушоед. Дар сатри суроға powershell навишта Enter пахш кунед: PowerShell дар ҳамин ҷузвдон кушода мешавад.

Яке аз ду фармонро иҷро кунед. SERVER_IP ва ҳангоми истифода роҳи калиди SSH-ро иваз кунед.

windows пас аз -Device номи профил аст. Барои компютери дуюм номи дигар, масалан 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 ва масирҳоро идора мекунад ва аз версияи равзанаи графикӣ вобаста нест. Фармонҳоро дар компютери худ иҷро кунед, на дар SSH-и VPS. Аввал мавҷудияти nmcli ва кори NetworkManager-ро санҷед.

ubuntu.conf пайвасти ubuntu месозад. Агар ном мавҷуд бошад, номи дигари дастгоҳро интихоб ва фармонҳоро мувофиқ кунед. Як бор ворид кунед; баъд up ва down истифода баред. Танзими поён VPN-и автоматиро ҳангоми оғоз хомӯш мекунад.

DNS ҳангоми пайваст будан VPN-ро барои ҳамаи номҳо афзал медонад. DNS-и бехатари браузер метавонад дигар бошад. Дар қадами 7 IP, DNS ва IPv6-ро санҷед. Ин усул дар Ubuntu 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

WireGuard барои iPhone — App Store

WireGuard барои Android — Google Play

7. Гузаштани интернет аз VPN-ро санҷед

Пеш аз VPN My IP-ро кушода суроғаро қайд кунед. WireGuard-ро фаъол, My IP-ро нав кунед ва бо IPv4-и оммавии VPS муқоиса кунед.

Агар саҳифа кушода суроғаи 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-ро фаъол буданашро бинед. Як бор хомӯшу фаъол карда саҳифаро нав кунед.

Агар сайт бо VPN кушода нашавад, 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 кушоед. Агар девори оташ пайваст бошад, UDP-и воридшавандаи 51820 иҷозат мехоҳад. Намуди панел аз провайдер вобаста аст; девори Ubuntu-ро скрипт танзим мекунад.

Handshake нав бошаду сайтҳо кушода нашаванд, натиҷа ва хато ё журнали барномаро нигоҳ доред. Танзимоти пешрафтаро тасодуфӣ иваз кардан ташхисро душвор мекунад.

Дар сервер — ҳолати VPN
wg show

9. Чӣ суръат интизор шудан мумкин?

Дар Windows боргирӣ тақрибан 350–400 Mbps ва ирсол 450–500 Mbps буд. Ҳамон усули VPN-ҳои дигари лоиҳа истифода шуд. Роҳ: корбар дар San Diego → VPN дар San Francisco Bay Area → сервери ченкунӣ дар 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-ро қатъ карда, танзим ва қоидаҳои девори оташи худашро нест мекунад. 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