Proxmox'da LXC yoki VM ichida WireGuard: u qayerda ishlashi kerak?
WireGuard Proxmox xostida, konteynerda yoki VM ichida ishlashi mumkin. Hal qiluvchi omillar — yadro egaligi, interfeys nazorati va tiklash.
WireGuard o'z interfeysiga ega bo'ladigan aynan bitta yadroni talab qiladi va bu fakt unumdorlik suhbatga kirishidan oldin Proxmox joylashuvi bahsining ko'p qismini hal qiladi. LXC konteyneri xost yadrosining nomlar fazosi ko'rinishidir, VM esa o'z yadrosini yuklaydi. Shuning uchun foydali savol qaysi variant yengilroq ekani emas, balki qaysi yadroni o'zgartirishga tayyor ekaningiz va qaysi tiklash yo'li bilan yashay olishingizdir. Bunga javob bering, xost, konteyner yoki VM tanlovi odatda o'z-o'zidan hal bo'ladi.
LXC mehmoni xost yadrosining ichida ishlaydi
Konteyner ichida wireguard-tools o'rnatish sizga boshqaruv dasturini beradi, shaxsiy yadro emas. Siz yaratgan wg0 interfeysi xostning tarmoq stekida ro'yxatga olinadi va xostning modullar ro'yxatida ko'rinadi. Shuning uchun konteyner barcha paket tekshiruvlaridan o'tib, xost yadrosida modul bo'lmaganda birinchi wg buyrug'ida muvaffaqiyatsizlikka uchrashi mumkin. Va Proxmox konteynerlari ma'lumotnomasi o'sha umumiy yadro modelini, shuningdek siz ishlayotgan nomlar fazosi va imtiyoz chegaralarini hujjatlashtiradi.
Vakolat — ikkinchi cheklov. Interfeysni ko'tarish va unga manzillarni ulash uchun uni egallagan nomlar fazosi ichidagi tarmoq ma'muriyati huquqlari kerak, imtiyozsiz konteyner esa bu huquqlarni to'g'ridan-to'g'ri ushlab turish o'rniga o'z foydalanuvchi nomlar fazosi orqali aks ettiradi. Birinchi javob sifatida hech qachon to'liq imtiyozga intilmang; konteynerdan haqiqatda nima talab qilinayotganini ko'rib, keyin shuni bering.
Xost yadrosi ham umumiy bog'liqlikdir. Proxmox yadro yangilanishi WireGuard tatbiqini har bir konteyner ostida bir vaqtda o'zgartiradi, bu yangilanish va konteyner kutganlari mos kelmay qolguncha qulay.
Xost, konteyner, VM: har bir joylashuv aslida nimaga ega
Xostda joylashuv VPN'ni gipervizorning o'z tarmog'iga qo'yadi. Marshrutlar, firewall qoidalari va tunnel xostni tiklashning bir qismiga aylanadi, u yerdagi xato boshqaruv interfeysini ham olib ketishi mumkin. Bu konsol orqali yetib boriladigan xostda infratuzilma marshrutlash uchun maqbul, tashqi tarmoqqa chiqishi yo'q masofaviy mashinada esa og'riqli.
Konteyner xizmatni qadoqlangan va qayta ishga tushiriladigan holatda saqlaydi, shu bilan birga xost yadrosini qarzga oladi. U ataylab umumiy yadroli xizmatga mos keladi va qayta qurish uchun kichik birlik beradi. U mustaqil yadro bermaydi, shuning uchun ma'lum modul yig'ilishini talab qiladigan har qanday narsa bu variantdan uzoqqa ishora qiladi.
| Placement | Kernel owner | Typical failure mode |
|---|---|---|
| Proxmox host | Hypervisor | A routing change breaks host management access |
| LXC container | Host kernel, container namespace | Missing capability or missing module at wg0 creation |
| Virtual machine | Guest kernel | Extra maintenance and a second patch cycle |
VM ko'proq xotira va yamoq talab qiladigan yana bir tizimga tushadi, evaziga tunnel o'z yadrosini, o'z marshrutlash jadvalini va snapshot chegarasini oladi. Yomon o'zgarishdan keyin orqaga qaytaradigan narsa VPN bo'lsa, o'sha snapshot ortiqcha yuklamaga arziydi.
Sizning o'rningizga tanlaydigan uch shart
Agar tunnelga Proxmox xosti taqdim etmaydigan yadro versiyasi yoki WireGuard xususiyati kerak bo'lsa, shu yerda to'xtang va VM ishlating. Konteynerga yangiroq yadro o'rnatib bo'lmaydi va bitta mehmonni qondirish uchun gipervizor yadrosini almashtirmaslik kerak.
Agar tunnel haqiqiy LAN prefikslari uchun sayt darvozasi bo'lsa, qaytish marshruti kimga tegishli ekanini so'rang. Konteyner trafikni marshrutlay oladi, ammo uning interfeyslari xost stekida o'tiradi, shuning uchun xost oxir-oqibat konfiguratsiyaning bir qismini ko'taradi, uni rejalashtirganmisiz yoki yo'q. Xostda joylashuv bu borada halol; konteynerda joylashuv ko'pincha unday emas.
Keyin xatoning ta'sir radiusini o'lchang. Konteynerni qayta ishga tushirish arzon, VM snapshotini tiklash oldindan aytib bo'ladigan, xost tarmog'ini tuzatish esa jismoniy yoki konsol kirishini talab qilishi mumkin. To'g'ri tanlov — eng yomon holatini aynan o'sha soatda haqiqatan tiklay oladigan variant.
To'rtinchi savol kamdan-kam hal qiluvchi bo'ladi, lekin aytishga arziydi: xostdagi boshqa biror narsaga tunnel interfeysini ko'rish kerakmi? Agar ha bo'lsa, xostda yoki konteynerda joylashuv bu ko'rinishni mahalliy saqlaydi, VM esa sizni mehmon va xost o'rtasida marshrutlashga majbur qiladi.
Trafikni undan o'tkazishdan oldin joylashuvni isbotlang
O'rnatgandan so'ng, interfeysga aslida qaysi yadro xizmat qilayotganini va konteynerga uni saqlab qolish uchun yetarli vakolat berilganini tasdiqlang:
$ pct config 101 | grep -E 'unprivileged|features'
unprivileged: 1
$ pct exec 101 -- wg show
interface: wg0
listening port: 51820
$ pct exec 101 -- ip -4 addr show wg0
inet 10.60.0.2/24 scope global wg0
Keyin xostdan yo'naltirish tomonini tekshiring, chunki faqat qo'l berib ko'rishish tunnel tik turganini isbotlaydi. Mijoz manzili uchun ip route get ishlating va keyingi sakrash hamda interfeys loyihaga mos kelishini, uzoq tomonda qaytish yo'li borligini tasdiqlang.
Joylashtirishni yozma egasi bilan qoldiring: qaysi yadro tatbiqni ko'taradi, qaysi nomlar fazosi interfeysni ushlab turadi va darvozaga qaysi prefikslarni yo'naltirishga ruxsat. O'sha bitta gap uch joylashuvning har qanday benchmark taqqoslashidan ko'ra ko'proq hodisalarning oldini oladi.