Ин мақола ба таври муфассал шарҳ медиҳад, ки чӣ гуна дар сервери худ Wireguard VPN насб кардан мумкин аст. Он метавонад сервери виртуалӣ ё хусусӣ бошад - он қадар муҳим нест.
Ин дастури танзимоти VPN Wireguard барои корбароне тарҳрезӣ шудааст, ки таҷрибаи зиёд надоранд, аз ин рӯ ҳама қадамҳо хеле муфассал ва скриншотҳоро пайгирӣ хоҳанд кард.
Трафик, ки тавассути нақби мо мегузарад, рамзгузорӣ мешавад ва Интернет суроғаи IP-и сервери VPN-и моро нишон медиҳад, на суроғаи провайдери, ки тавассути он мо ба шабака ворид мешавем.
Гумон меравад, ки шумо аллакай VPS доред. Агар не, шумо метавонед Фармоиш он аз мо.
Мо системаи оператсионии Ubuntu 22.04-ро дар сервери худ насб мекунем. Агар шумо сервери дорои OS-и дигар дошта бошед, пас шумо метавонед онро ба осонӣ аз нав насб кунед дастур.
Ҳамин тавр, сервер бо Ubuntu 22.04 OS омода аст, ҳоло мо ба он тавассути SSH пайваст мешавем. Агар ногаҳон шумо қаблан ин протоколро надида бошед, пас мақолае, ки дар он ин раванд ба таври муфассал тавсиф шудааст, ба шумо кӯмак мекунад. Сархати дуюми моддаи мақола барои OS Linux, сеюм барои OS Windows аст.
Сервери Wireguard насб кунед
Пас аз пайвасти бомуваффақият, ман чанд фармон ва тавсифи он чизеро, ки онҳо барои фаҳмидани раванд месозанд, менависам:
Мо рӯйхати бастаҳоро дар анборҳо нав мекунем
apt update
Навсозии худи бастаҳо
apt upgrade -y
Бастаи wireguard насб кунед
apt install -y wireguard
Конфигуратсияи мо дар директорияи /etc/wireguard/ нигоҳ дошта мешавад, мо бояд ба директория ворид шавем:
cd /etc/wireguard/
Барои сервери мо ба мо калиди ҷамъиятӣ ва хусусӣ лозим аст. Мо онҳоро пас аз муқаррар кардани ҳуқуқҳои дуруст ҳангоми сохтани файлҳо ва директорияҳо бо фармонҳо тавлид мекунем:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
Акнун мо ҳуқуқҳоро барои калиди хусусӣ муқаррар мекунем:
chmod 600 privatekey
Пеш аз сохтани файли конфигуратсия ба мо номи интерфейси шабакаи мо лозим аст. Барои кашф кардани он, фармонро истифода баред:
ip a
Ба мо интерфейс бо суроғаи IP лозим аст, ки барои пайвасти ҷорӣ истифода мешавад. Эҳтимол дар ҳолати шумо он ens3 номида мешавад, аммо шояд номи дигар вуҷуд дошта бошад.
Мо инчунин ба калиди ҷамъиятӣ ва хусусӣ ниёз дорем. Барои намоиш додани онҳо ман думро истифода мебарам
tail privatekey publickey
Чунин ба назар мерасад:
Барои таҳрир, шумо метавонед ҳама чизро истифода баред Муҳаррири матнии Linux. Ман нано истифода хоҳам кард. Барои насб кардани он шумо бояд фармонро иҷро кунед:
apt install -y nano
Мо файли конфигуратсияро таҳрир мекунем:
nano /etc/wireguard/wg0.conf
Шарҳ
Барои захира кардани файл мо маҷмӯи тугмаҳои ctrl+o-ро истифода мебарем
барои баромадан - ctrl+x
Он бояд чунин бошад:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
Дар ҳолати ман ин чунин ба назар мерасад
Мо интиқоли IP-ро фаъол мекунем
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Хидмати муҳофизати симро оғоз кунед:
systemctl start [email protected]
Агар мо хоҳем, ки хидмат пас аз бозоғоз кардани сервер оғоз шавад, мо амалҳои зеринро иҷро мекунем:
systemctl enable [email protected]
Барои дидани ҳолати хидмат:
systemctl status [email protected]
Вазъ бояд ҳамчун дар скриншот фаъол бошад:
Агар шумо дастурҳои моро бодиққат иҷро карда бошед, пас дар ин марҳила, шумо ҳама чизро доред, то қисми сервери VPN Wireguard кор кунад.
Насб кардани муштарии Wireguard
Ягона чизе, ки боқӣ мемонад, танзим кардани қисми муштарӣ аст. Масалан ва соддагӣ, ман калидҳоро барои қисми муштарӣ низ дар сервер тавлид мекунам. Аммо бо мақсади амният тавлид кардани калидҳо дар тарафи муштарӣ дурусттар мебуд. Ман фармонҳоро барои тавлид истифода мебарам:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
Ман инчунин калидҳоро барои истифодаи VPN дар телефон тавлид мекунам:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
Бояд қайд кард, ки ҳамаи ин бояд ҳангоми дар каталог будан анҷом дода шавад
/etc/wireguard/
Шумо инчунин метавонед дар каталоги дигар кор кунед. Аммо барои соддагӣ, мо дастурҳоро дар /etc/wireguard/ иҷро мекунем.
Мо фармони ls-ро барои номбар кардани файлҳо дар директория истифода мебарем. Ман инро чунин гирифтам:
Биёед калидҳои оммавиро дар экран нишон диҳем. Мо ба онҳо барои илова кардани гиреҳҳо ба шабакаи мо ниёз дорем:
tail mypc_publickey myphone_publickey
Барои ман чунин менамояд:
Биёед файли танзимоти худро таҳрир кунем:
nano wg0.conf
Ба сатри зерин илова кунед:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
Акнун файли конфигуратсия чунин менамояд:
Файлро захира кунед ва хидмати моро бозоғоз намоед:
systemctl restart wg-quick@wg0
Биёед тафтиш кунем, ки ҳама чиз муваффақ аст:
systemctl status wg-quick@wg0
Вазъ бояд фаъол бошад
Боркунии хидмат ҳар дафъа пас аз таҳрири файли конфигуратсияи сервер (wg0.conf) талаб карда мешавад.
Минбаъд, мо конфигуратсияҳоро барои муштариён эҷод мекунем (дар ҳолати ман, компютер ва телефони ман). Ман ҳамин корро дар сервер мекунам.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
Дар майдони Endpoint, шумо метавонед суроғаи IP-и серверро бинед - ин суроғаи IP аст, ки мо барои пайвастшавӣ тавассути SSH истифода мебурдем. Барои дидани интерфейсҳо ва суроғаҳо, шумо метавонед фармони ip a-ро истифода баред.
Барои мобилӣ Wireguard насб кунед
Мо конфигуратсияи шабеҳро барои телефони худ эҷод мекунем. Танҳо суроғаро иваз кардан лозим аст. Барои компютер он 10.30.0.2/32 буд ва дар конфигуратсия барои телефон мо 10.30.0.3/32 мекунем. Инчунин, агар мо хоҳем, ки VPN-ро дар дигар дастгоҳҳо истифода барем, пас мо бояд суроғаҳои дигарро ба майдони Суроға дар файлҳои конфигуратсия ва файли конфигуратсияи сервери wg0.conf, майдони AllowedIPs ҳангоми сохтани конфигуратсияҳо илова кунем.
Файлҳо дар ҳолати ман чунинанд:
mypc.conf
myphone.conf
Барои пайвастшавӣ мо муштарии wireguard насб мекунем https://www.wireguard.com/install/
Дар барномаи Windows, мо нақби нав илова мекунем ва конфигуратсияеро, ки дар файли mypc.conf сохта шудааст, ворид мекунем
Мо нақбро оғоз мекунем ва ба браузер ба вебсайте меравем, ки суроғаи моро нишон медиҳад
Барои ба осонӣ илова кардани VPN ба телефони худ, барномаеро барои тавлиди кодҳои qr дар сервер насб кунед:
apt install -y qrencode
Дар директорияи конфигуратсия будан, қадами зеринро иҷро кунед:
qrencode -t ansiutf8 -r myphone.conf
Сипас, мо ба барномаи Wireguard дар телефон ворид мешавем, + -ро пахш карда нақби нав созед, рамзи QR-ро интихоб кунед, скан кунед, VPN-ро фаъол созед. Баъдан, мо тафтиш мекунем, ки мо суроғаи сервери худро бо истифода аз ҳама гуна захирае, ки суроғаи IP-и баромадро нишон медиҳад, нишон медиҳем.
Шумо инро кардед!