Cliente Linux de código aberto NordVPN e bibliotecas com implementação MeshNet

O provedor VPN NordVPN anunciou o código aberto do cliente para a plataforma Linux, a biblioteca de rede Libtelio e a biblioteca de compartilhamento de arquivos Libdrop. O código está aberto sob a licença GPLv3. As linguagens de programação Go, Rust, C e Python foram utilizadas no desenvolvimento.

O cliente Linux fornece uma interface de linha de comando para gerenciar conexões com servidores NordVPN, permite selecionar um servidor de uma lista com base no local desejado, alterar as configurações de protocolo e ativar o modo Kill Switch, que bloqueia o acesso à rede se a conexão com o servidor VPN está perdido. O cliente suporta trabalho usando os protocolos NordLynx (baseado em WireGuard) e OpenVPN. Para alterar as configurações do firewall, iptables é usado, iproute é usado para roteamento, tuntap é usado para encapsular conexões e systemd-resolved é usado para resolver nomes no DNS. Suporta distribuições como Ubuntu, Fedora, Manjaro, Debian, Arch, Kali, CentOS e Rasbian.

A biblioteca Libtelio inclui funções típicas de rede e fornece uma implementação da rede virtual MeshNet, formada a partir de sistemas de usuários e usada para comunicação entre si. MeshNet permite que você estabeleça túneis criptografados entre dispositivos e crie algo como uma rede local separada com base neles. Ao contrário das VPNs, as conexões no MeshNet não são estabelecidas entre um dispositivo e um servidor VPN, mas entre dispositivos finais que também participam como nós para rotear o tráfego.

Para toda a rede MeshNet, você pode definir um servidor comum para interação com o mundo externo (por exemplo, se o nó de saída estiver localizado na casa do usuário, não importa quais viagens e locais o usuário acesse a rede a partir de dispositivos conectados ao MeshNet , para serviços externos a atividade de rede será semelhante a esta, como se o usuário estivesse se conectando a partir de um endereço IP residencial).

Várias implementações do Wireguard podem ser usadas para criptografar o tráfego no MeshNet. Tanto os servidores VPN quanto os nós de usuário dentro do MeshNet podem ser usados ​​como nós de saída. Um filtro de pacotes personalizado é fornecido para limitar o tráfego na rede e um serviço baseado em DNS é fornecido para determinar hosts. A biblioteca publicada permite organizar a operação de suas próprias redes MeshNet em suas aplicações.

A biblioteca Libdrop fornece funções para organizar a troca segura de arquivos entre os dispositivos do usuário. O envio e recebimento direto de arquivos pela MeshNet ou pela rede global são suportados, sem o envolvimento de servidores de terceiros.

Fonte: opennet.ru

Adicionar um comentário