Jason A. Donenfeld, autor do VPN WireGuard, maior no núcleo principal do driver OpenBSD "wg" para o protocolo WireGuard, interface de rede específica e ferramentas que operam no espaço do usuário. O OpenBSD se tornou o segundo sistema operacional após com suporte completo e integrado ao WireGuard. A inclusão do WireGuard é esperada na versão 6.8 do OpenBSD.
Os patches incluem um driver para o núcleo do OpenBSD, alterações para as utilitários ifconfig e tcpdump com suporte às funcionalidades do WireGuard, documentação e pequenas alterações para integrar o WireGuard com o restante do sistema. O driver utiliza uma implementação própria dos algoritmos , e , além da implementação do SipHash já presente no núcleo do OpenBSD.
A implementação é compatível com todos os clientes oficiais do WireGuard para Linux, Windows, macOS, *BSD, iOS e Android. Os testes de desempenho em um laptop do desenvolvedor (Lenovo x230) mostraram uma capacidade de 750mbit/s. Para comparação, o isakmpd com as configurações básicas do ike psk oferece uma capacidade de 380mbit/s.
Ao desenvolver o driver para o núcleo do OpenBSD, foram escolhidas algumas soluções arquitetônicas semelhantes às do driver para Linux, mas o driver foi desenvolvido principalmente para o OpenBSD, levando em consideração as especificidades deste sistema e a experiência adquirida na criação do driver para Linux. Com a permissão do autor original do WireGuard, o código do novo driver é totalmente distribuído sob a licença livre ISC.
O driver é estreitamente integrado com a pilha de rede do OpenBSD e utiliza subsistemas existentes, o que permitiu que o código fosse muito compacto (cerca de 3000 linhas de código). Entre as diferenças, destaca-se a separação dos componentes do driver, que é diferente do Linux: interfaces específicas do OpenBSD foram movidas para os arquivos "if_wg.*", o código de proteção contra DoS para "wg_cookie.*", e a lógica de negociação de conexões e criptografia para "wg_noise.*".
Fonte: opennet.ru
