Crypto card para sa isang VPN gateway: apat na paghahatid bago bumili
Ang isang natukoy na PCI card ay isa lamang sa apat na hakbang. Subaybayan ang driver, ang kinakailangang crypto operation at ang aktibong backend ng VPN bago magbayad para sa acceleration.
Lumilitaw ang mga lumang cryptographic accelerator sa imbentaryo ng PCI, at ipinapalagay na ang VPN ay mag-e-encrypt na ngayon nang mas mabilis. Apat na magkakahiwalay na paghahatid ang dapat magtagumpay bago ito maging totoo: hinahanap ng sistema ang device, pinapatakbo ito ng isang pinapanatiling driver, inilalantad ng isang interface ang operasyong kailangan ng VPN, at hinihiling ito ng aktibong backend ng VPN. Kung mabigo ang alinman, nananatili ang card sa labas ng tunay na landas ng tunnel.
Ang pagtuklas ay ang unang paghahatid, hindi ang huli
Pinatutunayan lamang ng pagtuklas na nakikita ng bus ang isang device at may ideya ang kernel kung ano ito. Ang suporta ng driver ang susunod na pintuan, at nakadepende ito sa bersyon: ang isang module na naroon sa lumang release ay maaaring lubusang wala sa kasalukuyang pakete ng kernel. Bukod pa rito, kailangang irehistro ng driver ang partikular na algorithm at mode na ginagamit ng data channel. Ang card na nagpapabilis ng AES-CBC ay walang ginagawa para sa isang configuration na nakikipagnegosasyon sa AES-GCM.
Pangalanan ang bawat paghahatid nang hiwalay sa pagsusuri, dahil ang pagkabigo sa ikaapat ay mukhang kapareho ng pagkabigo sa una kapag tiningnan mula sa labas.
Basahin ang imbentaryo ng algorithm ng kernel
Magsimula sa pagtipon ng alam na ng host tungkol sa device at sa mga algorithm na nairehistro nito.
lspci -nn | grep -i -E "crypt|hifn|soekris"
grep -E "^(name|driver|priority)" /proc/crypto | head -40Ibinibigay ng linya ng PCI ang mga identifier ng vendor at device na kailangan para sa anumang paghahanap ng driver, at/proc/crypto inililista ang mga nairehistrong implementasyon kasama ang kanilang mga driver at priyoridad. Ang halaga ng priyoridad ay nag-aayos ng pagpili sa pagitan ng mga implementasyon ng parehong algorithm, na hindi katulad ng isang aplikasyon na pumipili ng isa sa mga ito. Kung hindi lumilitaw doon ang algorithm ng card, hindi ito kailanman nairehistro ng driver at walang pagbabago sa user space ang tatawag dito. Itala ang mga identifier at pangalan ng implementasyon sa halip na isang screenshot ng card.
Dapat piliin ng VPN ang implementasyong iyon
Ang pagiging available sa kernel ay isang menu, hindi isang garantiya na nag-order ang proseso ng VPN mula rito. Suriin kung ano ang aktwal na ginagamit ng backend.
openssl speed -evp aes-256-gcm
openssl engine -t -cSinasanay ng command ng bilis ang sariling landas ng library at nagbibigay ng baseline para sa makina ayon sa pagkakakonfigura, habang ang listahan ng engine ay nagpapakita kung may available na opsyonal na provider para sa OpenSSL. Ang isang VPN sa user space na may sariling crypto library ay ganap na lumalampas sa mga implementasyon ng kernel, kaya ang isang nairehistrong driver ay maaaring hindi naaangkop dito. Ang pag-offload ng data channel ay isa pang ikatlong mekanismo, na nagbabago ng packet processing sa halip na magpadala ng mga cipher request sa isang expansion card. Tukuyin kung alin sa tatlong ito ang naglalarawan sa iyong deployment bago bumili ng hardware para sa ikaapat.
Ihambing sa landas ng CPU na mayroon ka na
Ang mga modernong processor ay may mga instruksiyon ng AES na ginagamit ng isang pinapanatiling library nang walang karagdagang hardware, at iniiwasan nila ang mga bus transfer at karagdagang kopya. Ang isang lumang accelerator ay maaaring matalo sa landas na iyon habang nag-uulat pa rin ng kahanga-hangang raw na mga numero ng cipher. Sukatin ang tunay na workload: parehong trapiko, parehong mga setting ng proteksyon, baseline laban sa kandidato, na nakatala nang sabay ang load ng CPU at throughput ng aplikasyon. Isama sa desisyon ang pag-uugali sa pag-update at pagbawi, dahil ang isang module na hindi pinapanatili ay nagpapataas ng panganib sa maintenance ng gateway sa buong buhay nito.
Ang batayan ng pagbili ay isang sinusuportahang chain at isang nasusukat na benepisyo. Ang isang natukoy na card, o isang module na minsang kinompile ng iba, ay hindi dahilan upang gawing umaasa ang isang pinapanatiling gateway sa lumang hardware.