WireGuard haqida qisqacha
WireGuard – bu xavfsiz va tezkor VPN texnologiyasi boʻlib, u oddiy va samarali ishlash tamoyiliga asoslangan. U holatni saqlamaydigan (stateless) tunnel hisoblanadi va unda an’anaviy “server-klient” tushunchalari oʻrniga “peer” (teng huquqli tugun) tushunchasi qoʻllaniladi. Har bir WireGuard tuguni ham aloqa oʻrnatishi, ham boshqa tugunlardan ulanishni qabul qilishi mumkin.
RouterOS 7 versiyasida WireGuard qoʻllab-quvvatlanadi, ammo ushbu versiya hali ham ba’zi kamchiliklarga ega boʻlishi mumkin. Shuning uchun, yangilanishdan oldin sinov oʻtkazish tavsiya etiladi.
RouterOS 7 versiyasi chiqqandan so‘ng, MikroTik routerlarida WireGuard qo‘llab-quvvatlanishi yo‘lga qo‘yildi. Ushbu maqolada, RouterOS 7 da WireGuard VPN sozlash jarayonini ko‘rib chiqamiz.
Muhim jihatlar
WireGuard VPN oddiy tunel bo‘lib, u holatni saqlamaydi. Har bir tugun (peer) bir-biri bilan bog‘lanishi va ulanishni qabul qilishi mumkin. Shuningdek, WireGuard faqat RouterOS 7 da mavjud bo‘lib, bu versiyaning ba’zi kamchiliklari ham borligini inobatga olish kerak.
Biz RouterOS 7.2.1 versiyasini CHR formatida virtual mashinada sinovdan o‘tkazamiz.
MikroTik-ni ruxsat beruvchi sifatida (server)
- WireGuard interfeysini yaratish RouterOS interfeysida WireGuard bo‘limiga o‘tib, yangi interfeys yaratamiz. Name va Listen Port maydonlarini to‘ldiramiz.Terminal orqali:
/interface wireguard
add listen-port=34567 mtu=1420 name=wireguard-sts

2. IP-manzil tayinlash WireGuard interfeysiga IP-manzil tayinlaymiz.
Terminal orqali:
/ip address
add address=10.10.0.1/24 interface=wireguard-sts network=10.10.0.0

3. Firewall qoidalarini qo‘shish
IP – Firewall – Filter Rules bo‘limida quyidagi qoida qo‘shiladi:
- Chain: input
- Protocol: UDP
- Dst. Port: 34567
- In. Interface: tashqi interfeys (ether1)
Terminal orqali:
/ip firewall filter
add action=accept chain=input dst-port=34567 in-interface=ether1 protocol=udp

4. Peer (tugun) qo‘shish Har bir mijoz (peer) uchun ochiq kalit (public key) kiritiladi va unga ajratilgan ichki tarmoq manzili (Allowed Address) belgilanadi.
Terminal orqali:
/interface wireguard peers
add allowed-address=10.10.0.2/32,192.168.233.0/24 interface=wireguard-sts public-key="9pVP67ehKtQEr6BV46X9SuQrdvys+1QeVT0oeUg71wo="

MikroTik-ni mijoz sifatida (client)
Agar MikroTik-ni internetga ulanish uchun mijoz sifatida ishlatmoqchi bo‘lsak, quyidagi sozlamalarni amalga oshiramiz.
- Yangi WireGuard interfeysini yaratish
Terminal orqali:
/interface wireguard
add listen-port=13231 mtu=1420 name=wireguard-inet

2. IP-manzil tayinlash
Terminal orqali:
/ip address
add address=10.20.0.105/24 interface=wireguard-inet network=10.20.0.0

3. Peer (VPN server) qo‘shish
Terminal orqali:
/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address=x.x.x.x endpoint-port=34567 interface=wireguard-inet persistent-keepalive=25s public-key="kKxQ4wF+kUrpsTGwjMvlSwX45WV4nixG76/+sKlzEQA="

Routing (marshrut sozlash)
Agar internetga WireGuard orqali chiqishni xohlasak, routing sozlashimiz kerak. Buning uchun quyidagi amallar bajariladi:
- Alohida marshrut qo‘shish
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/1 gateway=10.20.0.1
add disabled=no distance=1 dst-address=128.0.0.0/1 gateway=10.20.0.1

2. VPN serverga to‘g‘ridan-to‘g‘ri ulanishni saqlash Aks holda, router o‘zini VPN orqali ulanishga urinishga tushib, aloqa uziladi.
/ip route
add disabled=no dst-address=x.x.x.x/32 gateway=192.168.3.1

Sozlamalar to‘g‘ri kiritilgan bo‘lsa, MikroTik orqali internetga WireGuard VPN orqali kirish mumkin bo‘ladi. Bu usul sizga trafikni shifrlash va xavfsizlikni oshirish imkonini beradi.