Барои танзими сервери 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-ро насб кунед
sudo apt update
sudo apt install -y wireguard qrencode
qrencode имкон медиҳад, ки танзимоти мизоҷро барои телефонҳо ҳамчун рамзи QR нишон диҳед.
2. Калидҳои серверро созед
sudo -i
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
umask 077 кафолат медиҳад, ки калиди хусусиро танҳо root хонда метавонад.
3. Интерфейси шабакаи оммавиро ёбед
ip route show default
Калимаи баъд аз dev интерфейси оммавии шумост, одатан eth0 ё ens3. Мисолҳо eth0-ро истифода мебаранд.
4. Танзимоти серверро нависед
/etc/wireguard/wg0.conf-ро созед:
[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
Калидро бо ин фармон гузоред:
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-ро фаъол кунед
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf
sysctl --system
6. Firewall-ро кушоед ва туннелро оғоз кунед
Бо UFW:
ufw allow 51820/udp
ufw route allow in on wg0 out on eth0
ufw reload
ufw route allow ба трафики интиқолшуда аз туннел иҷозат медиҳад, ки ба интернет барояд. Бе он мизоҷон пайваст мешаванд, аммо интернет надоранд.
Агар firewall-и Wolkra-ро истифода баред, дар он ҷо низ қоидаи воридотӣ барои UDP 51820 илова кунед.
WireGuard-ро оғоз кунед ва онро ҳангоми боршавӣ фаъол гардонед:
systemctl enable --now wg-quick@wg0
wg show
wg show бояд интерфейси wg0 ва порти гӯшкунандаи онро нишон диҳад.
7. Мизоҷ илова кунед
Калидҳои мизоҷро дар сервер созед (ё дар дастгоҳи мизоҷ, ки каме бехатартар аст, зеро калиди хусусӣ ҳеҷ гоҳ аз он берун намеравад):
cd /etc/wireguard
wg genkey | tee laptop.key | wg pubkey > laptop.pub
Мизоҷро ҳамчун peer ба сервери коркунанда илова кунед ва танзимотро захира кунед:
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-ро созед:
[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-е, ки дар сервер кор мефармоед.
Ворид кардан дар телефон
qrencode -t ansiutf8 < laptop.conf
Барномаи WireGuard-ро кушоед, Scan from QR code-ро интихоб кунед ва онро ба терминал равона кунед.
Ворид кардан дар компютер
laptop.conf-ро ба таври бехатар ба дастгоҳ нусхабардорӣ кунед (масалан бо scp) ва онро ба барномаи WireGuard ворид кунед ё дар Linux:
sudo cp laptop.conf /etc/wireguard/wg0.conf
sudo wg-quick up wg0
Дар мизоҷи Linux wg-quick DNS-ро тавассути resolvconf танзим мекунад. Агар он шикоят кунад, ки фармон мавҷуд нест, openresolv-ро насб кунед (Debian) ё сатри DNS-ро нест кунед ва DNS-ро худатон танзим кунед.
Агар калиди хусусии мизоҷро дар сервер сохта бошед, баъдан онро аз сервер нест кунед.
9. Туннелро санҷед
Дар мизоҷ пайваст шавед ва суроғаи оммавиро санҷед:
curl -4 https://ifconfig.me
Он бояд суроғаи серверро нишон диҳад. Дар сервер:
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-и оммавӣ надоранд, дастрасӣ пайдо мекунанд.