OpenSSL@APOS@da AES-NI yoki yadroga o@APOS@tkazish: qaysi biri kerak?
CPU ko@APOS@rsatmalari qo@APOS@llab-quvvatlashini paketlar qayerda qayta ishlanishidan ajrating: sozlashdan oldin kripto backend, kelishilgan shifr va faol yo@APOS@lni tekshiring.
Ikki yorliq bir xil narsadek ishlatiladi: apparat bilan tezlashtirilgan va yadroga o’tkazilgan. Biri kutubxonaning AES tartib-qoidasi qaysi ko’rsatmalarni bajarishini, ikkinchisi paketlarni qayta ishlash qayerda sodir bo’lishini tasvirlaydi. VPN birinchisiga ikkinchisisiz, ikkinchisiga birinchisisiz yoki ikkalasiga birga ega bo’lishi mumkin. Unumdorlik haqidagi har qanday qaror avval bu ikkisidan qaysi birini haqiqatan o’zgartira’otganingizni nomlashdan boshlanishi kerak.
Ikki o’q, bitta ball emas
Birinchi o’q — amalga oshirish: AES-256-GCM qiladigan kod protsessorning maxsus ko’rsatmalaridan foydalanadigan versiyaga yoki ularni oddiy arifmetika sifatida bajaradigan ko’chiriladigan tartib-qoidaga yo’naltiriladimi. Bu tanlov kriptografik kutubxona ichida yashaydi va u ishga tushganda qilinadi.
Ikkinchi o’q — joylashuv: paket yadroning o’zgartirish yo’lidan o’tadimi yoki foydalanuvchi maydonidagi demon tunnel qurilmasidan o’qib, shifrlab va qayta yozadimi.
Hech bir o’q ikkinchisini cheklamaydi. AES ko’rsatmalari bor CPU da foydalanuvchi maydonidagi VPN ulardan doim foydalanishi mumkin, ular yo’q CPU da yadro yo’li dasturiy ta’minot amalga oshirishiga qaytadi. Sotuvchilar materiallaridagi yorliqlar bu farqni kamdan-kam ko’rsatadi, shuning uchun ikki holat orasida ko’chirilgan sozlash maslahatlari ko’pincha hech narsa qilmaydi.
Birinchi o’q: shifrlashni qaysi kod bajaradi
OpenSSL ishga tushishda protsessor xususiyatlarini aniqlaydi va natijani optimallashtirilgan kod yo’llarini tanlash uchun ishlatadi, x86 imkoniyatlari hujjati tasvirlaganidek. AES-NI shu yo’naltirish orqasidagi hujjatlashtirilgan imkoniyatlardan biridir. Bularning hech biri kutubxona yadro tarkibiga aylanishini talab qilmaydi.
Tez yo’l ishlatilmoqda deb hisoblashdan oldin xususiyat jarayonga ko’rinishini tasdiqlang. Linux da manba /proc/cpuinfo ichidagi flags maydoni, mehmon ichida esa u gipervizor ochib berganini aks ettiradi, jismoniy xost modeli nomini emas.
grep -m1 '^flags' /proc/cpuinfo | grep -o '\baes\b'
openssl list -providers -verboseIkkinchi buyruq o’sha qurilishda yuklangan provayderlarni nomlaydi. U VPN xizmati qaysi kutubxonaga bog’langanini aytmaydi, va bitta xost ikkita OpenSSL o’rnatmasini ko’tarishi mumkin, ishlab turgan jarayon esa ulardan faqat bittasini ishlatadi.
Ikkinchi o’q: paket yo’li qayerda ishlaydi
Yadroga joylashtirish o’zgartirish yadroning o’z IPsec mexanizmida yoki yadro ichidagi tunnel drayverida sodir bo’lishini bildiradi, shuning uchun paketlar har bir to’plam uchun foydalanuvchi maydoni jarayoni orqali borib-kelishi shart emas. Bu nusxalar va kontekst almashinuvini kamaytirishi va ishni bir ipli demon qila olmaydigan usulda yadrolarga taqsimlashi mumkin. Shuningdek, siz nazorat qilmaydigan chegara narigi tomonida ish sodir bo’layotgani uchun, o’tkazuvchanlik pasayganda o’qiydigan hisoblagichlar va izlarni ham ko’chiradi. Buni faqat unumdorlik qarori emas, xatolarni tuzatish xarajati deb qarang.
U ko’rsatmalar qo’llab-quvvatlashini yaratmaydi, shifrni sozlamaydi va mavjud yo’lni ishlaydigan qilmaydi.
Virtualizatsiya bu o’qqa ham qatlam qo’shadi. Mehmonga xost ega xususiyatlarni yashiruvchi maskalangan CPU modeli berilishi mumkin, ichki mehmon esa undan ham kamini ko’rishi mumkin. Imkoniyatlar ko’rinishini VPN haqiqatan ishlaydigan muhit ichidan o’qing, gipervizor konsolidan emas.
Har bir tanlov nima sotib oladi va nima qila olmaydi
Amaliy savol vaqt qayerga ketadi. Agar o’tkazuvchanlikni bitta band ip, takrorlanuvchi bufer nusxalari yoki har bir paketga tizim chaqiruvi cheklasa, o’zgartirishni o’sha xarajatlarni olib tashlaydigan yo’lga ko’chirish yordam berishi mumkin, yadro sizga kerakli o’zgartirishni amalga oshirgan bo’lsa.
Agar chegara tiqilib qolgan yuqori havola, yo’qotishli yo’l, uzoq borib-kelish vaqti, to’yingan manzil xizmati yoki bitta yadroga qadalgan bitta ip bo’lsa, joylashuv muhim hech narsani o’zgartirmaydi. Ko’rsatmalar tanloviga ham shu tegishli: maxsus apparatdagi AES yo’qolgan yo’lni tuzata olmaydi va nom hal qilish muvaffaqiyatsiz bo’lgani uchun tunnel bo’sh tursa yordam bermaydi.
Ikkisi ham tegishli bo’lgan joyda ular qo’shiladi. Yadro yo’li yadroning kripto API si ichidagi o’sha ko’rsatma darajasidagi yo’naltirishdan foydalanishi mumkin, yaxshi tanlangan kutubxonaga ega foydalanuvchi maydoni yo’li esa undan allaqachon foydalanadi. Qaror mavhum ma’noda qaysi biri tezroq ekanida emas; qaysi xarajat uchun dalilingiz borligida.
Biror narsani o’zgartirishdan oldin to’rt faktni yozib qo’ying
Xizmatning ikkilik fayli va u bog’langan kripto kutubxonasini yozing, chunki ular birinchi o’qni belgilaydi. So’ng kelishilgan ma’lumot himoyasini qayd eting, chunki maxsus ko’rsatma yo’li bo’lmagan shifr u bilan bo’lganidan boshqacha tutadi va to’plamni ikkala tomon tanlaydi.
Keyin ishlab turgan muhit ichidan imkoniyatlar ko’rinishi va nihoyat siz yoqilgan deb hisoblagan rejim haqiqatan shundayligiga dalil bilan faol paket yo’li. Yuklangan modul profil undan foydalanishiga dalil emas, konfiguratsiya satri esa yadro uni qabul qilganiga dalil emas.
Bitta narsani o’zgartiring, so’ng bir xil so’nggi nuqtalar va bir xil uzatish yo’nalishiga ega tekis ish yuki bilan solishtiring. Siz o’lchamagan tezlik da’vosi backend hech qachon shubha ostida bo’lmaganligi haqidagi yozuvdan kamroq qimmatga ega.