Buzilgan WireGuard konfiguratsiyalarining ko'pchiligi qiymatda xato qilmaydi; ular to'g'ri qiymatni noto'g'ri tomonga qo'yadi. Maxfiy kalit bu mashinaga tegishli, peer boshqa mashinaning ochiq kalitini olib yuradi, manzil esa tunnel qayerda yashashini tavsiflasa ham interface blokida o'tiradi. Faylni uchrashuvchi ikki yo'nalish sifatida o'qing, so'ng yordamchi skript ustiga nima qo'shganini tekshiring. Protokolning o'zida fayldan kamroq maydon bor, qo'shimchalarini alohida bilish arziydi.

interface kalitlari bu mashinani tavsiflaydi

interface bloki bu uchning o'z shaxsiyatini saqlaydi. PrivateKey o'sha shaxsiyat va u hech qachon xostdan chiqmaydi; undan mos ochiq kalit olinadi va boshqa peers aynan shuni sanaydi. ListenPort bu tomon qo'l berishlarni qabul qiladigan joy, shuning uchun bitta manzil orqasidagi ikki mijozga turli portlar kerak.

Address bu xost javob beradigan tunnel manzili bo'lib, prefiks uzunligi bilan yozilgan, chunki u foydalanadigan manba ham shu. Bu yerda prefiksni xato qilish xost qaysi yo'nalishlarni to'g'ridan-to'g'ri ulangan deb hisoblashini o'zgartiradi va bu konfiguratsiya emas, marshrutlash kabi ko'rinadigan nosozliklar tug'diradi.

Haqiqiy mijoz bilan [Interface] blokdagi qolgan hamma narsani odatda wg-quick qo'shadi: DNS, MTU, Table, va ilgak satrlari. Bular protokol maydonlari emas va yalang'och wg sozlama ularni butunlay e'tiborsiz qoldiradi.

Har bir peer yozuvi yana bir tomonni tavsiflaydi

[Peer] blok uzoq tomon. PublicKey o'sha tomonning olingan kaliti, hech qachon ularning maxfiy kaliti emas, va PresharedKey ikki tomon ham bir xil saqlashi kerak bo'lgan ixtiyoriy qo'shimcha sir. Endpoint qayerga yuborish, va PersistentKeepalive boshqa hech narsa chiqmasa, oraliqdan keyin bu xost paket yuborishini so'raydi.

Bu yerdagi chalkashlikning ko'pini ikki xato tushuntiradi. O'z maxfiy kalitingizni peer blokiga ko'chirish ikki uchni bitta shaxsiyatga sherik qiladi va qo'l berish yomon yoziladigan tarzda muvaffaqiyatsiz bo'ladi. Endpoint mijozda tashlab ketish odatda ataylab bo'ladi, chunki server manzilni kiruvchi qo'l berishdan o'rganadi; boshlashi kerak bo'lgan serverda uni tashlab ketish bunday emas. Shuni ham yodda tutingki, keepalive NAT xaritasini ochiq saqlaydi va u o'tkazuvchanlikni yaxshilamaydi hamda kechikishni kamaytirmaydi, shuning uchun trafik allaqachon oqayotganda o'ttiz soniyalik qo'shimcha paketlar hech narsa sotib olmaydi.

AllowedIPs marshrutlashdir, ruxsat ro'yxati emas

AllowedIPs WireGuard'ning kriptokalit marshrutlashidir. Tashqariga, manzilga qarab qaysi peer paket olishini hal qiladi. Ichkariga, o'sha peer'dan kelgan paket manbaga qarab qabul qilinishini hal qiladi. Xuddi shu maydon ikkala ishni bajaradi, shuning uchun bu kirish nazorati ro'yxati ham emas, ruxsat etilgan saytlar ro'yxati ham emas.

Tor AllowedIPs serverda mijoz uchun server faqat o'sha manbalarni da'vo qilgan paketlarni qabul qiladi va faqat o'sha manzillarni o'sha mijozga yuboradi. Bir tomonni ikkinchisini kengaytirmasdan kengaytirsangiz, ko'tariladigan, lekin hech narsa o'tkazmaydigan tunnel olasiz.

wg-quick protokol atrofida nima qo'shadi

wg-quick xuddi shu faylni o'qiydi va protokol operatsion tizimga qoldirgan tarmoq qadamlarini bajaradi. U interface manzilini belgilaydi, AllowedIPs dan olingan marshrutlarni qo'shadi, hal qiluvchi sozlamalarini yozadi va ilgak buyruqlarini ketma-ket ishga tushiradi.

Bu qatlam klassik asimmetriyani tushuntiradi. 0.0.0.0/0 va DNS satri bo'lgan fayl mijozga standart marshrut va hal qiluvchi beradi va serverning yo'naltirish yoki NAT qoidalariga umuman hech narsa qilmaydi. Ular serverning o'z konfiguratsiyasiga tegishli va hech qanday mijoz fayli ularni bera olmaydi.

Faylga bitta egasi bo'lsin. SaveConfig yoqilgan holda uni qo'lda tahrirlash keyingi safar interface tushganda tahriringiz yo'qoladi degani, va interface bu sodir bo'lganini sizga aytmaydi.

Faylni emas, qo'llanilgan holatni tekshiring

Fayl niyatdir. Qo'llanilgan holat yadro ushlab turgan narsa, va ular faollashtirishdan keyin yordamchi, drop-in yoki ilgak biror narsani tahrirlagan har safar ajraladi.

Tirik holat va manzillashni birga o'qing, so'ng ikkalasini yozganingiz bilan solishtiring:

sudo wg show
ip -4 addr show dev wg0
ip -4 route show dev wg0
grep -v "^#" /etc/wireguard/wg0.conf

Agar peer ro'yxati bo'sh bo'lsa, interface konfiguratsiyasi qo'llanilmasdan yaratilgan. Manzillar va marshrutlar bo'lsa-da hisoblagichlar nolda qolsa, fayl yuklangan va qo'l berish muvaffaqiyatsiz bo'lmoqda, bu bo'lim tartibi emas, kalit yoki uch muammosi. Tahrirlashdan oldin ikki ko'rinishni solishtiring, chunki ular orasidagi farq odatda haqiqiy nuqson.

O'xshash maqolalar