Asosiy kontentga o‘tish
Innovialabs

Masofaviy xodimlar uchun WireGuard VPN ni qanday sozlash

Amaliyot3 daq

Qisqacha

WireGuard ni router, VPS yoki ofis serverida ishga tushiring, har bir qurilmaga alohida kalitlar juftligi va IP bering, AllowedIPs da faqat ofis tarmoqlarini ko‘rsating, xodim ketganda esa peer ni serverdan o‘chiring.

Sxema haqida qisqacha

WireGuard — oddiy va tezkor VPN-protokol. Unda login va parollar yo‘q: har bir qurilmada kalitlar juftligi bor, server esa ruxsat etilgan mijozlarning ochiq kalitlarini biladi. Kimda yopiq kalit bo‘lsa — o‘sha ulanadi.

Shundan asosiy qoidalar kelib chiqadi:

  • bitta kalit — bitta qurilma, bo‘lim uchun umumiy konfiglar yo‘q;
  • har bir mijoz VPN ichida o‘z IP siga ega;
  • sizda qaysi kalit kimga tegishli ekani yozilgan ro‘yxat bor.

1-qadam. Serverni qayerda ishga tushirish

VariantAfzalliklariKamchiliklari
WireGuard qo‘llab-quvvatlaydigan routerAlohida uskunasiz, ofis tarmog‘iga to‘g‘ridan-to‘g‘ri kirishOq IP yoki DDNS kerak, routerga yuklama
Bulutdagi VPSStatik IP, ofis port ochmaydiOfisni VPS bilan alohida tunnel orqali bog‘lash kerak
Ofis serveri yoki mini-PKMoslashuvchanlik, quvvatRouterda portni yo‘naltirish, marshrutlashni sozlash

Oq IP si bor kichik ofis uchun eng oddiysi — router. Oq IP bo‘lmasa — xodimlar ham, ofis routeri ham ulanadigan VPS.

WireGuard UDP orqali ishlaydi. Portni serverda ochish va kerak bo‘lsa routerda yo‘naltirish lozim.

2-qadam. Kalitlarni yarating

Linux da kalitlar wg utilitasi bilan yaratiladi:

umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee alice-laptop.key | wg pubkey > alice-laptop.pub

Yopiq kalitlarni (.key) hech qachon messenjerlarda ochiq matn sifatida yubormang. Ko‘plab mijoz ilovalari kalitni qurilmaning o‘zida yarata oladi — shunda yopiq kalit noutbukdan umuman chiqmaydi, sizga faqat ochiq kalit beriladi.

3-qadam. Server konfiguratsiyasi

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

[Peer]
# alice-laptop
PublicKey = <alice-laptop.pub mazmuni>
AllowedIPs = 10.8.0.2/32

Serverda AllowedIPs — mijozga foydalanishga ruxsat etilgan manzil. Agar server router emas, alohida mashina bo‘lsa, unda IP forwarding ni yoqing va ofis tarmog‘iga marshrut yoki NAT sozlang.

4-qadam. Mijoz konfiguratsiyasi

[Interface]
PrivateKey = <qurilma kaliti>
Address = 10.8.0.2/32
DNS = 192.168.1.1

[Peer]
PublicKey = <server.pub mazmuni>
Endpoint = vpn.example.com:51820
AllowedIPs = 10.8.0.0/24, 192.168.1.0/24
PersistentKeepalive = 25

Bu yerda 192.168.1.0/24 — ofis tarmog‘iga misol, o‘zingiznikini qo‘ying. PersistentKeepalive NAT ortida tunnelni tirik saqlashga yordam beradi. Telefon uchun konfigni QR-kod orqali berish qulay.

5-qadam. Split yoki full tunnel

Bu mijoz konfigidagi bitta AllowedIPs qatori bilan hal qilinadi:

  • Split tunnel — AllowedIPs = 10.8.0.0/24, 192.168.1.0/24. VPN orqali faqat ofisga trafik o‘tadi, qolgan internet — to‘g‘ridan-to‘g‘ri. Ofis kanaliga yuklama kamroq.
  • Full tunnel — AllowedIPs = 0.0.0.0/0, ::/0. Barcha trafik ofis orqali o‘tadi. Servislarga kirish faqat ofis IP sidan ruxsat etilgan bo‘lsa yoki trafikni filtrlash kerak bo‘lsa zarur.

Ko‘pchilik ofislar uchun split tunnel yetarli.

6-qadam. Kirishni bekor qilish

Xodim ishdan ketganda yoki noutbukini yo‘qotganda:

  1. Peer ni ishlayotgan interfeysdan o‘chiring:
wg set wg0 peer <ochiq kalit> remove
  1. Qayta ishga tushirishdan keyin qaytib kelmasligi uchun [Peer] blokini konfiguratsiya faylidan o‘chiring.
  2. Kalitlar reyestrida bekor qilingan sanani belgilang.
  3. Bu odamda kalitli boshqa qurilmalar yo‘qligini tekshiring.

Reyestr yuritilmasa, bir yildan keyin izohsiz peer kimga tegishli ekanini hech kim ayta olmaydi.

Keng tarqalgan xatolar

  • Bir nechta odamga bitta konfig — bittasining kirishini bekor qilib bo‘lmaydi.
  • Zaruratsiz full tunnel — ofis kanali begona trafik bilan to‘lib ketadi.
  • Ofis tarmog‘i xodimning uy tarmog‘i bilan mos kelishi (masalan, ikkalasi ham 192.168.1.0/24) — marshrutlash buziladi. Ofis uchun kamroq tarqalgan tarmoqdan foydalaning.
  • Yopiq kalitlarni umumiy chatlarda yuborish.

Ko‘p beriladigan savollar

WireGuard ning o‘zi buni qilmaydi, u faqat tunnel yaratadi. Cheklovlar server yoki routerdagi firewall qoidalari bilan sozlanadi: masalan, buxgalteriyaga — hisob serveriga, dasturchilarga — test mashinalariga kirish.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.