Após três anos desde a publicação da versão 2.6, o lançamento do OpenVPN 2.7.0 foi preparado, um pacote para a criação de redes privadas virtuais, que permite estabelecer uma conexão criptografada entre duas máquinas clientes ou assegurar o funcionamento de um servidor VPN centralizado para a utilização simultânea de vários clientes. O código do OpenVPN é distribuído sob a licença GPLv2, e pacotes binários prontos são gerados para Debian, Ubuntu, CentOS, RHEL e Windows.
Principais novidades:
- Sobre VPN-servidores agora possuem a capacidade de abrir vários sockets receptores, por exemplo, para aceitar conexões simultaneamente via UDP e TCP ou por diferentes portas de rede.
- Foi realizada a transição para a utilização de uma nova versão do módulo DCO, incluído no núcleo principal do Linux 6.16. O módulo incluído no núcleo principal tem uma API alterada e é fornecido sob o nome 'ovpn'. O suporte ao antigo módulo ovpn-dco foi encerrado. O módulo transfere operações de criptografia, processamento de pacotes e gerenciamento de canal para o núcleo do Linux, permitindo eliminar sobrecargas associadas à troca de contexto, e possibilita otimizar o funcionamento através de chamadas diretas à API interna do núcleo, além de evitar a lenta transferência de dados entre o núcleo e o espaço do usuário (a criptografia, a descriptografia e o roteamento são realizados pelo módulo sem enviar o tráfego para o manipulador no espaço do usuário).
- Na versão para Windows: o flag block-local foi ativado nos filtros WFP; a geração de interfaces de rede adicionais foi garantida conforme necessário; os serviços automáticos são iniciados com um usuário não privilegiado; o NRPT (Tabela de Política de Resolução de Nome) é utilizado para gerenciar as configurações de DNS; o uso do driver win-dco foi permitido para acelerar os servidores VPN.
- Um novo formato de chaves e pacotes 'epoch' foi apresentado, que, ao contrário do formato padrão 'DATA_V2', adiciona a tag AEAD ao final do pacote, atualiza automaticamente as chaves ao atingir o limite de utilização, possui identificadores de pacotes de 64 bits e utiliza a operação XOR na formação do vetor de inicialização.
- Adicionada a suporte ao lwipovpn — um emulador de interfaces de rede tun/tap no espaço do usuário, implementado com base na pilha TCP/IP lwIP. Usando a opção «—dev-node unix:/path/to/lwipovpn», é possível emular um cliente VPN completo no mesmo sistema para teste e depuração do OpenVPN.
- Adicionada a possibilidade de atualizar parte das configurações do cliente (IP, roteamento, MTU, DNS) através do envio servidor de mensagens de controle PUSH_UPDATE.
- No cliente openVPN para Linux, BSD e macOS, foi adicionada a opção «—dns-updown» para executar um script que aplica as configurações de DNS fornecidas pelo servidor. O script suporta configurações através do /etc/resolv.conf, systemd ou resolveconf.
- Para a plataforma Linux, foi adicionada a opção «—route-table» para usar tabelas de roteamento definidas pelo usuário.
- Implementado suporte para o branch mbedTLS 4. Adicionado suporte ao TLS 1.3 em configurações com a biblioteca criptográfica mbedTLS.
- Adicionado suporte ao sistema operacional Haiku.
- Descontinuado o suporte ao modo de operação com chaves estáticas (deve-se usar o modo TLS), NTLMv1, driver Windows wintun, OpenSSL 1.0.2, mbedTLS 2.x, compressão de dados antes do envio, opções «—memstats» e «—opt-verify».
Fonte: opennet.ru
