Placa criptográfica para um gateway VPN: quatro passagens antes de comprar
Uma placa PCI detetada é apenas um de quatro passos. Acompanhe o controlador, a operação criptográfica necessária e o backend ativo da VPN antes de pagar pela aceleração.
Os antigos aceleradores criptográficos aparecem no inventário PCI, e assume-se que a VPN passará agora a cifrar mais depressa. Quatro passagens distintas têm de ser bem-sucedidas antes de isso ser verdade: o sistema encontra o dispositivo, um controlador mantido governa-o, uma interface expõe a operação de que a VPN precisa e o backend ativo da VPN pede-a. Se uma delas falhar, a placa fica fora do caminho real do túnel.
A deteção é a primeira passagem, não a última
A deteção prova apenas que o barramento vê um dispositivo e que o kernel tem alguma ideia do que é. O suporte do controlador é a porta seguinte, e depende da versão: um módulo presente numa versão antiga pode faltar por completo no pacote atual do kernel. Além disso, o controlador tem de registar o algoritmo e o modo concretos que o canal de dados utiliza. Uma placa que acelera AES-CBC não faz nada por uma configuração que negoceia AES-GCM.
Nomeie cada passagem separadamente na avaliação, porque uma falha na quarta parece, vista de fora, idêntica a uma falha na primeira.
Leia o inventário de algoritmos do kernel
Comece por recolher o que o anfitrião já sabe sobre o dispositivo e sobre os algoritmos que registou.
lspci -nn | grep -i -E "crypt|hifn|soekris"
grep -E "^(name|driver|priority)" /proc/crypto | head -40A linha PCI dá os identificadores de fabricante e de dispositivo necessários para qualquer pesquisa de controlador, e/proc/crypto lista as implementações registadas com os respetivos controladores e prioridades. O valor de prioridade ordena a seleção entre implementações do mesmo algoritmo, o que não é o mesmo que uma aplicação escolher uma delas. Se o algoritmo da placa não aparecer ali, o controlador nunca o registou e nenhuma alteração no espaço de utilizador o invocará. Anote os identificadores e os nomes das implementações em vez de uma captura de ecrã da placa.
A VPN tem de selecionar essa implementação
A disponibilidade no kernel é um menu, não uma garantia de que o processo da VPN tenha encomendado a partir dele. Verifique o que o backend realmente utiliza.
openssl speed -evp aes-256-gcm
openssl engine -t -cO comando de velocidade exercita o caminho próprio da biblioteca e dá uma linha de base para a máquina tal como está configurada, enquanto a listagem de motores mostra se existe sequer algum fornecedor opcional disponível para o OpenSSL. Uma VPN no espaço de utilizador com a sua própria biblioteca criptográfica contorna por completo as implementações do kernel, pelo que um controlador registado pode ser-lhe irrelevante. O descarregamento do canal de dados é ainda um terceiro mecanismo, que altera o processamento de pacotes em vez de enviar pedidos de cifra para uma placa de expansão. Determine qual desses três descreve a sua implementação antes de comprar hardware para o quarto.
Compare com o caminho da CPU que já tem
Os processadores modernos incluem instruções AES que uma biblioteca mantida utiliza sem hardware adicional, e evitam transferências de barramento e cópias extra. Um acelerador antigo pode perder para esse caminho enquanto ainda reporta números brutos de cifra impressionantes. Meça a carga real: mesmo tráfego, mesmos parâmetros de proteção, linha de base contra candidato, com a carga da CPU e o débito da aplicação registados em conjunto. Inclua na decisão o comportamento de atualização e recuperação, porque um módulo sem manutenção aumenta o risco de manutenção do gateway durante toda a sua vida.
O motivo da compra é uma cadeia suportada mais um benefício medido. Uma placa detetada, ou um módulo que alguém compilou uma vez, não é razão para tornar um gateway mantido dependente de hardware obsoleto.