Старите криптографски ускорители се появяват в PCI инвентара и се приема, че VPN вече ще шифрира по-бързо. За да е вярно това, трябва да успеят четири отделни предавания: системата намира устройството, поддържан драйвер го управлява, интерфейс предоставя операцията, от която VPN се нуждае, и активният бекенд на VPN я заявява. Провал в което и да е от тях оставя картата извън реалния път на тунела.

Откриването е първото предаване, не последното

Откриването доказва само, че шината вижда устройство и че ядрото има някаква представа какво е то. Поддръжката на драйвер е следващата порта и зависи от версията: модул, наличен в стара версия, може изцяло да липсва в текущия пакет на ядрото. Освен това драйверът трябва да регистрира конкретния алгоритъм и режим, които каналът за данни използва. Карта, която ускорява AES-CBC, не прави нищо за конфигурация, договаряща AES-GCM.

Назовавайте всяко предаване отделно в оценката, защото провал на четвъртото изглежда отвън идентичен с провал на първото.

Прочетете инвентара с алгоритми на ядрото

Започнете със събиране на това, което хостът вече знае за устройството и за алгоритмите, които е регистрирал.

lspci -nn | grep -i -E "crypt|hifn|soekris"
grep -E "^(name|driver|priority)" /proc/crypto | head -40

Редът от PCI дава идентификаторите на производител и устройство, нужни за всяко търсене на драйвер, а/proc/crypto изброява регистрираните реализации с техните драйвери и приоритети. Стойността на приоритета подрежда избора между реализации на един и същ алгоритъм, което не е същото като приложение да избере една от тях. Ако алгоритъмът на картата не се появи там, драйверът никога не го е регистрирал и никаква промяна в потребителското пространство няма да го извика. Записвайте идентификаторите и имената на реализациите, а не снимка на екрана на картата.

VPN трябва да избере тази реализация

Наличието в ядрото е меню, а не гаранция, че процесът на VPN е поръчал от него. Проверете какво всъщност използва бекендът.

openssl speed -evp aes-256-gcm
openssl engine -t -c

Командата за скорост упражнява собствения път на библиотеката и дава базова линия за машината в текущата ѝ конфигурация, докато списъкът с двигатели показва дали изобщо има достъпен допълнителен доставчик за OpenSSL. VPN в потребителското пространство със собствена крипто библиотека напълно заобикаля реализациите на ядрото, така че регистриран драйвер може да е без значение за него. Разтоварването на канала за данни е отново трети механизъм, който променя обработката на пакети, вместо да изпраща шифроващи заявки към карта за разширение. Установете кой от тези три описва разгръщането ви, преди да купите хардуер за четвъртото.

Сравнете с процесорния път, който вече имате

Съвременните процесори включват AES инструкции, които поддържана библиотека използва без допълнителен хардуер, и те избягват шинни трансфери и излишни копия. Стар ускорител може да загуби от този път, докато все още отчита впечатляващи сурови числа за шифроване. Измерете реалната натовареност: същият трафик, същите настройки за защита, базова линия срещу кандидат, с отчетени заедно процесорно натоварване и пропускателна способност на приложението. Включете в решението поведението при обновяване и възстановяване, защото неподдържан модул повишава риска за поддръжката на шлюза за целия му живот.

Случаят за покупка е поддържана верига плюс измерена полза. Открита карта или модул, който някой някога е компилирал, не е причина поддържан шлюз да зависи от остарял хардуер.

Подобни статии