Shaxsiy kalit bu yerda, ommaviy kalit u yerda: WireGuard kalitlari
Shaxsiy kalitingiz o’z qurilmangizda qoladi; hamkor yozuvi boshqa tomonning ommaviy kalitini saqlaydi. Faqat ommaviy yarmini ulashing va har bir qurilmaga o’z shaxsiyatini bering.
Qo’lda yig’ilgan WireGuard nosozliklarining ko’pchiligi qaysi kalit qayerga tushganiga borib taqaladi. Interfeys bo’limida siz sozlayotgan qurilmaning shaxsiy kaliti bo’ladi, hamkor bo’limida esa narigi uchdagi mashinaning ommaviy kaliti. Bu yarmlarni almashtirish yoki noto’g’risini yopishtirish hech qachon tugamaydigan qo’l berib ko’rishish va hech qachon kalit nomini aytmaydigan jurnal hosil qiladi. AllowedIPs yoki DNS ga tegishdan oldin quyidagi to’rtta tekshiruvni tartib bilan bajaring.
Ikki kalit, ikki yo’nalish
Shaxsiy kalit aynan bitta qurilmaga tegishli va shu qurilmaning interfeys bo’limida qoladi. Uning ommaviy yarmi har bir boshqa hamkorga qurilmani tanish uchun kerak bo’lgan narsa, vositalar esa uni o’ylab topmaydi, hosil qiladi. Serverda qurilmangizning ommaviy kaliti hamkor yozuvi sifatida ko’rinadi; qurilmangizda bu rolni serverning ommaviy kaliti bajaradi. Konfiguratsiyani shu atamalar bilan ovoz chiqarib o’qish ko’p chalkashliklarni qo’l berib ko’rishishga yetib bormasdan ushlaydi.
wg buyrug’i mahalliy interfeys aslida nima ishlatayotganini, ikkala ommaviy kalit bilan birga chiqaradi. Shuning uchun konfiguratsiya xatosini ulanish muammosidan ajratishning eng tez yo’li shu:
wg show
wg show interfaces
Birinchi chiqish har bir hamkorni uning ommaviy kaliti, oxirgi ishlatgan so’nggi nuqtasi va oxirgi qo’l berib ko’rishish yoshi bilan sanab chiqadi. Bir tomonda «hech qachon» bo’lgan qo’l berib ko’rishish yoshi, ikkinchi tomonda yaqindagisi faqat bir uchi qabul qilgan kalitga ishora qiladi. Ikkinchi buyruq keyinroq tekshirish mumkin bo’lgan interfeyslarni nomlaydi.
Nimani ulashish kerak va nimani hech qachon
Ommaviy kalit topshirish uchun mo’ljallangan, garchi u hali ham qurilmalar munosabatini aniqlasa, shuning uchun uni so’ragan administratorga yuborish uni e’lon qilishdan farq qiladi. Shaxsiy kalit uni yaratgan qurilmadan hech qachon chiqmaydi. Eksport qilingan profil yoki QR kod o’sha shaxsiy kalitni ham qo’shib butun konfiguratsiyani saqlaydi, shuning uchun ikkalasi ham qo’ldan qo’lga o’tkazish uchun xavfsiz emas, rasm ichida matnni yashirish esa hech narsani o’zgartirmaydi. Oldindan ulashilgan kalitlar ixtiyoriy va shunchalik maxfiy, ikkala uchi ham bir xil qiymatni ko’tarishi kerak, aks holda qo’l berib ko’rishish o’sha bosqichda to’xtaydi.
Yana bir farqni ochiq aytish kerak: so’nggi nuqta — manzil va port, hech qachon kalit emas. So’nggi nuqta maydoniga ommaviy kalit yoki kalit maydoniga manzil yopishtirish tahlil qilinadigan, so’ngra hech narsa qilmaydigan profil hosil qiladi. Vositalar buni ushlamaydi, chunki ikkala maydon ham oddiy satr. WireGuard tez boshlanishi bir satrda yaratish va hosil qilish zanjirini ko’rsatadi.
Bitta qurilma, bitta hamkor yozuvi
Xizmat ruxsat bergan joyda har bir qurilma o’z hamkor shaxsiyatini ko’tarishi kerak. Noutbukning to’liq profilini telefonga yopishtirish serverda qaysi qurilma bu shaxsiyatni ushlab turganini xiralashtiradi va yo’qolgan bitta telefonni bekor qilishni qiyinlashtiradi. Agar shaxsiy kalit oqib chiqsa, serverdagi eski hamkor ruxsatini olib tashlang va o’rinbosar tayyorlang. Mahalliy faylni o’chirish server yozuvini o’chirmaydi, yangi mijoz kaliti esa server uning ommaviy yarmini bilmaguncha hech kimga yordam bermaydi.
Qurilmadan ommaviy kalitgacha bo’lgan moslikni manzillar ro’yxati yonida saqlang. Bekor qilishni butun tushlikdan keyin emas, ikki daqiqalik ishga aylantiradigan aynan shu ro’yxat.
Qo’l berib ko’rishishdan keyin ham nima ishlamaydi
Kalit juftliklari hamkorlarni taniydi; ular tarmoq xatti-harakatini hal qilmaydi. AllowedIPs manzil diapazonlarini hamkor bilan bog’laydi, atrofdagi marshrutlarni esa mijoz yoki sozlash vositasi boshqaradi. Alomat odatda keyingi qaysi qatlamni ochish kerakligini aytadi:
| What you see | Which key problem it usually means | Where to look first |
|---|---|---|
| Handshake age stays at never on both ends | Peer public key missing, or an endpoint pointing at nothing | wg show, then the endpoint value |
| Handshake completes on one side only | The two ends hold different public keys for each other | wg show on both hosts |
| Handshake works, then no traffic | AllowedIPs or routes rather than keys | wg show and the route table |
| Worked until a key was regenerated | The peer entry still holds the old public key | Compare both public keys, then update the peer |
Ikkala hamkor to’g’ri autentifikatsiyadan o’tgandan keyin ham DNS ishlamasligi mumkin, tunnelning o’zi sog’lom bo’lganda ham ilova ishlamasligi mumkin, shuning uchun ishlaydigan qo’l berib ko’rishish diagnostikaning oxiri emas. Kalitlar operatorning jurnal yuritish amaliyoti yoki sayt hisobingizni taniyaptimi-yo’qmi haqida ham hech narsa demaydi, va bu savollar boshqa joyga tegishli. To’rt tekshiruv o’tgach tarmoq qatlamlariga o’ting, chunki yo’q kalit niqoblangan marshrutlash muammosi emas.