Wolkra

Дастурҳо

Танзими сервери VPN-и WireGuard

Сервери VPN-и WireGuard-ро дар Ubuntu 24.04 ё Debian 12 танзим кунед: калидҳо, танзимоти wg0, интиқоли IP, NAT, firewall ва танзимоти мизоҷ барои телефонҳо ва ноутбукҳо.

Навсозӣ: 5 дақиқа хондан

Барои танзими сервери VPN-и WireGuard wireguard-ро насб кунед, барои сервер ва ҳар мизоҷ ҷуфти калидҳо созед, /etc/wireguard/wg0.conf-ро бо зершабакаи хусусӣ нависед, интиқоли IP ва NAT-ро фаъол кунед, як порти UDP кушоед ва wg-quick@wg0-ро оғоз кунед. Дар Ubuntu 24.04 ё Debian 12 ин тақрибан даҳ дақиқа вақт мегирад.

WireGuard хурд, зуд ва дар ядрои Linux сохташуда аст. Он барои VPN-и шахсӣ бо баромад дар Олмон, барои дастрасии дурдаст ба шабакаи ширкат ё барои пайваст кардани серверҳо хеле мувофиқ аст.

Чӣ лозим аст

  • VPS бо суроғаи оммавии IPv4 (IPv6 бартарии иловагӣ аст). Нақшаи 1 vCPU / 1 GB кофист. VPS дар Франкфурт таъхири пастро дар саросари Аврупо медиҳад.
  • Дастрасии root ё sudo.
  • Барномаи WireGuard дар ҳар мизоҷ: Windows, macOS, Linux, Android ё iOS.

Дар мисолҳо:

Ҷузъ Арзиши намунавӣ
Суроғаи оммавии сервер 203.0.113.10
Зершабакаи VPN 10.8.0.0/24
Суроғаи туннелии сервер 10.8.0.1
Мизоҷи аввал 10.8.0.2
Порти UDP 51820

Онҳоро бо арзишҳои худ иваз кунед. Роҳи кӯтоҳро афзал медонед? Дар Wolkra ҳангоми сохтани сервер барномаи якклика WireGuard-ро интихоб кунед ва рост ба қадами 7 гузаред.

1. WireGuard-ро насб кунед

bash
sudo apt update
sudo apt install -y wireguard qrencode

qrencode имкон медиҳад, ки танзимоти мизоҷро барои телефонҳо ҳамчун рамзи QR нишон диҳед.

2. Калидҳои серверро созед

bash
sudo -i
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

umask 077 кафолат медиҳад, ки калиди хусусиро танҳо root хонда метавонад.

3. Интерфейси шабакаи оммавиро ёбед

bash
ip route show default

Калимаи баъд аз dev интерфейси оммавии шумост, одатан eth0 ё ens3. Мисолҳо eth0-ро истифода мебаранд.

4. Танзимоти серверро нависед

/etc/wireguard/wg0.conf-ро созед:

ini
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.key>

# NAT барои мизоҷони VPN, ки ба интернет мебароянд
PostUp   = iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Калидро бо ин фармон гузоред:

bash
sed -i "s|<contents of server.key>|$(cat server.key)|" wg0.conf
chmod 600 wg0.conf

Debian 12 ва Ubuntu 24.04 дар зер nftables-ро истифода мебаранд ва фармони iptables тавассути backend-и nftables кор мекунад, бинобар ин қоидаҳои боло дар ҳарду кор мекунанд.

5. Интиқоли IP-ро фаъол кунед

bash
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf
sysctl --system

6. Firewall-ро кушоед ва туннелро оғоз кунед

Бо UFW:

bash
ufw allow 51820/udp
ufw route allow in on wg0 out on eth0
ufw reload

ufw route allow ба трафики интиқолшуда аз туннел иҷозат медиҳад, ки ба интернет барояд. Бе он мизоҷон пайваст мешаванд, аммо интернет надоранд.

Агар firewall-и Wolkra-ро истифода баред, дар он ҷо низ қоидаи воридотӣ барои UDP 51820 илова кунед.

WireGuard-ро оғоз кунед ва онро ҳангоми боршавӣ фаъол гардонед:

bash
systemctl enable --now wg-quick@wg0
wg show

wg show бояд интерфейси wg0 ва порти гӯшкунандаи онро нишон диҳад.

7. Мизоҷ илова кунед

Калидҳои мизоҷро дар сервер созед (ё дар дастгоҳи мизоҷ, ки каме бехатартар аст, зеро калиди хусусӣ ҳеҷ гоҳ аз он берун намеравад):

bash
cd /etc/wireguard
wg genkey | tee laptop.key | wg pubkey > laptop.pub

Мизоҷро ҳамчун peer ба сервери коркунанда илова кунед ва танзимотро захира кунед:

bash
wg set wg0 peer "$(cat laptop.pub)" allowed-ips 10.8.0.2/32
wg-quick save wg0

wg-quick save ҳолати ҷориро ба wg0.conf бармегардонад, бинобар ин peer пас аз бозоғозӣ боқӣ мемонад.

8. Танзимоти мизоҷро нависед

laptop.conf-ро созед:

ini
[Interface]
PrivateKey = <contents of laptop.key>
Address = 10.8.0.2/32
DNS = <your resolver>

[Peer]
PublicKey = <contents of server.pub>
Endpoint = 203.0.113.10:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
  • AllowedIPs = 0.0.0.0/0, ::/0 тамоми трафикро тавассути VPN мефиристад (туннели пурра).
  • Барои туннели тақсимшуда, ки танҳо ба шабакаи хусусии шумо мерасад, масалан AllowedIPs = 10.8.0.0/24, 10.0.0.0/24-ро истифода баред.
  • PersistentKeepalive туннелро дар паси роутерҳои хонагӣ ва шабакаҳои мобилӣ кушода нигоҳ медорад.
  • DNS суроғаи resolver-е мебошад, ки ба он эътимод доред, масалан resolver-и оммавӣ ё resolver-е, ки дар сервер кор мефармоед.

Ворид кардан дар телефон

bash
qrencode -t ansiutf8 < laptop.conf

Барномаи WireGuard-ро кушоед, Scan from QR code-ро интихоб кунед ва онро ба терминал равона кунед.

Ворид кардан дар компютер

laptop.conf-ро ба таври бехатар ба дастгоҳ нусхабардорӣ кунед (масалан бо scp) ва онро ба барномаи WireGuard ворид кунед ё дар Linux:

bash
sudo cp laptop.conf /etc/wireguard/wg0.conf
sudo wg-quick up wg0

Дар мизоҷи Linux wg-quick DNS-ро тавассути resolvconf танзим мекунад. Агар он шикоят кунад, ки фармон мавҷуд нест, openresolv-ро насб кунед (Debian) ё сатри DNS-ро нест кунед ва DNS-ро худатон танзим кунед.

Агар калиди хусусии мизоҷро дар сервер сохта бошед, баъдан онро аз сервер нест кунед.

9. Туннелро санҷед

Дар мизоҷ пайваст шавед ва суроғаи оммавиро санҷед:

bash
curl -4 https://ifconfig.me

Он бояд суроғаи серверро нишон диҳад. Дар сервер:

bash
wg show

"Latest handshake"-и навбатӣ ва ҳисобкунакҳои афзояндаи интиқол маънои онро доранд, ки peer пайваст аст.

Илова кардани IPv6 ба туннел

Агар сервери шумо суроғаи IPv6 дошта бошад, шумо метавонед ба мизоҷон низ IPv6 диҳед. Диапазони хусусии IPv6 (суроғаи маҳаллии беназир, масалан fd42:42:42::1/64)-ро ба Address-и сервер, суроғаи мувофиқро барои ҳар мизоҷ илова кунед, net.ipv6.conf.all.forwarding=1-ро фаъол кунед ва қоидаи masquerade-и ip6tables-ро монанди қоидаи IPv4 илова кунед. Бе ин ::/0-ро ба AllowedIPs-и мизоҷ дохил накунед, вагарна трафики IPv6 ба ҷои беруншавӣ партофта мешавад.

Ҳалли мушкилот

Аломат Чиро санҷед
Handshake нест Оё порти UDP дар UFW ва firewall-и абрӣ кушода аст? Endpoint ва калиди оммавӣ дурустанд?
Handshake ҳаст, вале интернет нест ip_forward танзим шудааст? Қоидаи NAT дар интерфейси дуруст аст? ufw route allow илова шудааст?
Сомонаҳо суст бор мешаванд MTU-ро паст кунед: ба [Interface]-и мизоҷ MTU = 1380 илова кунед
Дар Wi-Fi кор мекунад, дар мобилӣ не PersistentKeepalive = 25 илова кунед

journalctl -u wg-quick@wg0 хатоҳои оғозро нишон медиҳад.

Трафик ва арзиш

VPN трафикро дар сервер дучанд мекунад: маълумот аз интернет ворид мешавад ва ба мизоҷ мебарояд. Дар нақшаҳои ҳисобшаванда ин зуд ҷамъ мешавад. Серверҳои Wolkra трафики ҳисобнашаванда бе пардохт барои ҳар GB доранд, дар портҳои муштараки то 10 Gbit/s бо истифодаи одилона. Дар хотир доред, ки сиёсати истифодаи қобили қабул ба ҳар чизе, ки аз VPN-и шумо мегузарад, татбиқ мешавад.

Барои маълумоти бештар дар бораи он ки чаро одамон VPN-и худро кор мефармоянд, ба ҳолатҳои истифодаи сервери VPN нигаред. Барои мустаҳкам кардани худи хост ба чӣ тавр сервери Ubuntu-ро муҳофизат кардан пайравӣ кунед, аммо танзимоти sysctl-и redirect-ро, ки бо масиргузорӣ мухолифанд, гузаред.

Саволҳои маъмул

Барои WireGuard чӣ қадар сервер лозим аст?

Хеле кам. WireGuard дар ядро кор мекунад ва сервери 1 vCPU, 1 GB як оила ё дастаи хурдро ба осонӣ хизмат мерасонад.

WireGuard кадом портро истифода мебарад?

Ҳар порти UDP, ки шумо интихоб мекунед. 51820 пешфарзи маъмул аст; онро ҳам дар firewall-и сервер ва ҳам дар ҳар firewall-и абрӣ кушоед.

Оё сервери VPN трафики зиёд истифода мебарад?

Бале, ҳар байте, ки мизоҷ истифода мебарад, аз сервер ворид ва хориҷ мешавад. Нақшаи ҳисобнашаванда аз пардохт барои ҳар GB барои ин раҳо мекунад.

Оё роҳи осонтар аз танзими дастии WireGuard ҳаст?

Дар Wolkra шумо метавонед ҳангоми сохтани сервер барномаи якклика WireGuard-ро интихоб кунед. Он пас аз чанд дақиқаи боршавӣ омода аст.

Оё бо WireGuard ба серверҳои хусусӣ дастрасӣ пайдо карда метавонам?

Бале. Ба ҷои тамоми трафик диапазони шабакаи хусусии худро тавассути туннел равона кунед ва мизоҷон ба серверҳое, ки IP-и оммавӣ надоранд, дастрасӣ пайдо мекунанд.

Сервер дар Франкфурт оғоз кунед

Ҳисоб созед, тавозунро пур кунед ва серверро аз €3.49 дар як моҳ иҷро кунед, танҳо барои соатҳое, ки истифода мебаред, пардохт карда. Трафики ҳисобнашаванда дар ҳар тариф.