I vecchi acceleratori crittografici compaiono nell'inventario PCI, e si presume che la VPN ora cifrerà più velocemente. Quattro passaggi distinti devono riuscire prima che ciò sia vero: il sistema trova il dispositivo, un driver mantenuto lo governa, un'interfaccia espone l'operazione di cui la VPN ha bisogno e il backend attivo della VPN la richiede. Se uno qualsiasi fallisce, la scheda resta fuori dal percorso reale del tunnel.

Il rilevamento è il primo passaggio, non l'ultimo

Il rilevamento dimostra solo che il bus vede un dispositivo e che il kernel ne ha una qualche idea. Il supporto del driver è la porta successiva, e dipende dalla versione: un modulo presente in una vecchia release può mancare del tutto dal pacchetto attuale del kernel. Inoltre, il driver deve registrare l'algoritmo e la modalità specifici usati dal canale dati. Una scheda che accelera AES-CBC non fa nulla per una configurazione che negozia AES-GCM.

Nomina ogni passaggio separatamente nella valutazione, perché un guasto al quarto appare dall'esterno identico a un guasto al primo.

Leggi l'inventario degli algoritmi del kernel

Inizia raccogliendo ciò che l'host già sa del dispositivo e degli algoritmi che ha registrato.

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

La riga PCI fornisce gli identificatori di produttore e dispositivo necessari per qualsiasi ricerca di driver, e/proc/crypto elenca le implementazioni registrate con i loro driver e priorità. Il valore di priorità ordina la selezione tra implementazioni dello stesso algoritmo, il che non equivale a un'applicazione che ne sceglie una. Se l'algoritmo della scheda non compare lì, il driver non l'ha mai registrato e nessuna modifica nello spazio utente lo richiamerà. Annota gli identificatori e i nomi delle implementazioni invece di uno screenshot della scheda.

La VPN deve selezionare quell'implementazione

La disponibilità nel kernel è un menu, non una garanzia che il processo VPN abbia ordinato da lì. Verifica cosa usa davvero il backend.

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

Il comando di velocità esercita il percorso proprio della libreria e fornisce una linea di base per la macchina così com'è configurata, mentre l'elenco dei motori mostra se per OpenSSL è disponibile un provider opzionale. Una VPN nello spazio utente con una propria libreria crittografica aggira del tutto le implementazioni del kernel, quindi un driver registrato può esserle irrilevante. L'offload del canale dati è un terzo meccanismo, che cambia l'elaborazione dei pacchetti invece di inviare richieste di cifratura a una scheda di espansione. Stabilisci quale di questi tre descrive la tua distribuzione prima di acquistare hardware per il quarto.

Confronta con il percorso della CPU che hai già

I processori moderni includono istruzioni AES che una libreria mantenuta usa senza hardware aggiuntivo, ed evitano trasferimenti sul bus e copie extra. Un vecchio acceleratore può perdere contro quel percorso pur riportando numeri grezzi di cifratura impressionanti. Misura il carico reale: stesso traffico, stesse impostazioni di protezione, linea di base contro candidato, con carico della CPU e throughput dell'applicazione registrati insieme. Includi nella decisione il comportamento di aggiornamento e ripristino, perché un modulo non mantenuto aumenta il rischio di manutenzione del gateway per tutta la sua vita.

Il motivo d'acquisto è una catena supportata più un beneficio misurato. Una scheda rilevata, o un modulo che qualcuno ha compilato una volta, non è una ragione per rendere un gateway mantenuto dipendente da hardware obsoleto.

Articoli correlati